Если у вас есть двоичные данные, которые нужно кодировать, какую схему кодирования вы используете?
Я знаю о:
- Шестнадцатеричное кодирование .Очень простой, но довольно многословный, расширяет один байт до двух.
- Base 64 .Наиболее распространенный, но не столь многословный, расширяет три байта до четырех.
- База 85 .Не часто, но менее многословно, расширяет четыре байта до пяти.
Существуют ли какие-либо другие схемы кодирования общего пользования?Если да, какие есть преимущества и недостатки?
Редактировать : Это полезно, например, при попытке сохранить произвольные данные в файле cookie.Куки могут хранить только текст, а не произвольные данные, поэтому вам нужно каким-то образом преобразовать их, желательно с возможностью конвертировать обратно.Далее, предположим, что вы используете сервер без сохранения состояния, поэтому вы не можете сохранить состояние на сервере и просто поместите идентификатор в файл cookie.Конечно, если вы сделаете это, вам также потребуется какой-то способ проверить, что то, что пользователь передает вам, является тем, что вы передали пользователю, например, подпись.
Кроме того, поскольку текущий консенсусчто вы должны использовать base64, поскольку он широко распространен, я также укажу, что это - это , что я использую ... Мне просто любопытно, если кто-нибудь использовал что-нибудь еще, и если да, то почему.
Редактировать : На всякий случай, если кто-то наткнется на это, если вы хотите использовать Base64 для хранения данных в файле cookie, вам нужно использовать модифицированную реализацию Base64 .См. этот ответ по причине.