Как я могу сократить строку и позже вернуть исходное содержимое? - PullRequest
2 голосов
/ 17 сентября 2009

У меня действительно длинная строка, которую мне нужно передать в URL, скажем, 10000 символов. Кто-нибудь знает хороший способ сократить его до 2000 символов, а затем на сервере каким-то образом вернуть оригинал?

Это Objective-C говорит с Руби, но это не должно иметь значения.

Ответы [ 6 ]

5 голосов
/ 17 сентября 2009

Можете ли вы опубликовать данные? Если вы используете GET, максимальная длина URL-адреса составляет около 4000 символов. Если вы POST это у вас нет никаких ограничений (за исключением времени ожидания и т. Д.)

В этой статье рассказывается о создании поста из объектива-c

1 голос
/ 17 сентября 2009

Сохраните его в базе данных, а затем просто передайте идентификатор строки в URL.

1 голос
/ 17 сентября 2009

Вы уверены, что должны передать его как URL? Может быть, POST-Data или Session будет более подходящим? в противном случае вы можете сохранить строку в базе данных и вернуть ключ вставленной записи в качестве параметра URL. Если это проблема безопасности (поскольку люди могут просто изменить число, если это целочисленный ключ), вы можете создать UUID в качестве ключа.

0 голосов
/ 17 сентября 2009

Я бы сохранил эту информацию в базе данных (или любом другом источнике постоянства) и затем передал бы ссылку на нее в URL.

И источнику, и месту назначения потребуется доступ к базе данных, но в большинстве случаев это не проблема.

0 голосов
/ 17 сентября 2009

Хорошо, сожмите его и Base64 закодируйте результат. Если строка имеет очень специфический формат, пользовательская кодировка может даже дать лучшее сжатие. Можете привести пример?

0 голосов
/ 17 сентября 2009

Вы можете попробовать запустить его через Base64 . Если строка гарантированно содержит только подмножество возможных символов - например, [a-zA-Z0-9] - ее можно сократить еще больше, преобразовав их в уникальные порядковые номера и используя более высокое базовое кодирование.

Но, вероятно, было бы проще просто использовать POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...