Base58
Base58 — вариант кодирования цифрового кода в виде буквенно-цифрового текста на основе латинского алфавита. Алфавит кодирования содержит 58 символов. Применяется для передачи данных в разнородных сетях (транспортное кодирование). Стандарт похож на Base64, но отличается тем, что в результатах нет не только служебных кодов, но и алфавитно-цифровых символов, которые могут человеком восприниматься неоднозначно. Исключены 0 (ноль), O (заглавная латинская o), I (заглавная латинская i), l (строчная латинская L). Также исключены символы + (плюс) и / (косая черта), которые при кодировании URL могут приводить к неверной интерпретации.
Стандарт был разработан для уменьшения визуальной путаницы у пользователей, которые вручную вводят данные на основе распечатанного текста или фотографии, то есть без возможности машинного копирования и вставки.
В отличие от Base64, при кодировании не сохраняется однозначное побайтовое соответствие с исходными данными — разные комбинации одинакового количества байтов в Base58 кодируются строкой с разной длиной символов.
Использование
правитьКодировка Base58 обычно используется для кодирования системы адресации. Фактический порядок букв в алфавите зависит от сферы применения кодирования. Поэтому указания лишь термина «Base58» без указания набора алфавита недостаточно, чтобы полностью описать формат.
Приложение | Алфавит |
---|---|
Адреса Bitcoin[1] | 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz [2]
|
Адреса Ripple[3] | rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz [4]
|
Короткий URL для Flickr[5] | 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ [6]
|
Пример скриптов для кодирования/декодирования в Base58 можно посмотреть на сайте Flickr[7]
Примечания
править- ↑ Technical background of version 1 Bitcoin addresses — Bitcoin . Дата обращения: 19 сентября 2014. Архивировано 31 октября 2014 года.
- ↑ Base58Check encoding — Bitcoin . Дата обращения: 19 сентября 2014. Архивировано 9 февраля 2014 года.
- ↑ Accounts — Ripple Wiki . Дата обращения: 19 сентября 2014. Архивировано из оригинала 3 сентября 2014 года.
- ↑ Encodings — Ripple Wiki . Дата обращения: 19 сентября 2014. Архивировано из оригинала 3 сентября 2014 года.
- ↑ Flickr Services . Дата обращения: 19 сентября 2014. Архивировано 12 августа 2014 года.
- ↑ Flickr: Discussing manufacturing flic.kr style photo URLs in Flickr API . Дата обращения: 19 сентября 2014. Архивировано 5 октября 2014 года.
- ↑ Пример скриптов для Base58 Архивная копия от 5 октября 2014 на Wayback Machine (англ.)