Кодирование / декодирование URL-адреса Boost base64

#url #boost #base64

#url #повышение #base64

Вопрос:

Я смог выполнить двоичное кодирование base64 с использованием итераторов, таких как

base64_from_binary<transform_width<const char *, 6, 8>>

но я хотел бы сделать это в удобном для URL формате, как здесь:http://en.wikipedia.org/wiki/Base64#URL_applications
путем замены ‘ ‘ и ‘/’ на ‘_’ и ‘-‘ и без заполнения ==.

Есть ли ускоряющий способ сделать это без необходимости замены на ‘ ‘ и ‘/’ и путем вычисления длины таким образом, чтобы не использовалось заполнение == ?

Ответ №1:

Кажется, что использование boost для выполнения преобразований base64 в первую очередь — плохая идея! На самом деле это внутренняя часть сериализации boost.

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

http://libb64.sourceforge.net/

http://www.adp-gmbh.ch/cpp/common/base64.html