Что такое кодировка base32? - PullRequest
9 голосов
/ 14 марта 2011

Достаточно информации о том, как реализовать кодировку base32 или спецификацию кодировки base32, но я не понимаю, что это такое, зачем оно нам и где основные приложения. Может кто-нибудь объяснить и дать хорошие сценарии реальной жизни на использование? Спасибо.

Crockford Base32 Википедия base32

Ответы [ 3 ]

17 голосов
/ 14 марта 2011

Как и любая другая кодировка «только ASCII», основная цель base32 состоит в том, чтобы гарантировать, что кодируемые данные выдержат транспортировку через системы или протоколы, которые имеют особые ограничения на диапазон символов, которые они принимают и появляются неизмененными.

Например, данные в кодировке b32 могут быть переданы в систему, которая принимает однобайтовый ввод символов, или в строковый ввод в кодировке UTF-8, или добавлены к URL, или добавлены в контент HTMLбез искалеченности или неправильной формы.Base64 (который встречается гораздо чаще) используется по тем же причинам.

Основное преимущество b32 перед b64 состоит в том, что он гораздо более удобочитаем.Это не является большим преимуществом, потому что данные, как правило, обрабатываются компьютерами, следовательно, относительная редкость b32 по сравнению с b64 (что более эффективно в отношении пространства).

Обновление: естьтот же вопрос, что и для Base64 здесь: Для чего используется кодировка base 64?

4 голосов
/ 14 марта 2011

Кодирование Base32 (и Base64) основано на ситуациях, когда вам необходимо кодировать неограниченный двоичный файл в системе хранения или транспорта, который допускает только данные определенной формы, такие как простой текст.Примеры включают передачу данных через URL-адреса, данные XML или JSON, которые представляют собой форматы простого текста, которые иначе не разрешают или не поддерживают произвольные двоичные данные.

0 голосов
/ 12 февраля 2018

В дополнение к предыдущим ответам для base32 против base64 в цифрах.Для того же .pdf файла закодированный результат:

base64.base32encode(content) = 190400 символов

base64.base64encode(content) = 158668 символов

...