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]

Примечания

[править |править код]
  1. Technical background of version 1 Bitcoin addresses — Bitcoin  (неопр.). Дата обращения: 19 сентября 2014. Архивировано 31 октября 2014 года.
  2. Base58Check encoding — Bitcoin  (неопр.). Дата обращения: 19 сентября 2014. Архивировано 9 февраля 2014 года.
  3. Accounts — Ripple Wiki  (неопр.). Дата обращения: 19 сентября 2014. Архивировано изоригинала 3 сентября 2014 года.
  4. Encodings — Ripple Wiki  (неопр.). Дата обращения: 19 сентября 2014. Архивировано изоригинала 3 сентября 2014 года.
  5. Flickr Services  (неопр.). Дата обращения: 19 сентября 2014. Архивировано 12 августа 2014 года.
  6. Flickr: Discussing manufacturing flic.kr style photo URLs in Flickr API  (неопр.). Дата обращения: 19 сентября 2014. Архивировано 5 октября 2014 года.
  7. Пример скриптов для Base58Архивная копия от 5 октября 2014 наWayback Machine (англ.)
Перейти к шаблону «Форматы обмена данными»
Форматыcериализационных цифровых данных
Текстовые
Интернет и телекоммуникации
Медиа
Другие
Источник —https://ru.wikipedia.org/w/index.php?title=Base58&oldid=140602384
Категории:
Скрытая категория: