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.

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Technical background of version 1 Bitcoin addresses — Bitcoin. Архів оригіналу за 31 жовтня 2014. Процитовано 19 вересня 2014.
  2. Base58Check encoding — Bitcoin. Архів оригіналу за 9 лютого 2014. Процитовано 19 вересня 2014.
  3. Accounts — Ripple Wiki. Архів оригіналу за 3 вересня 2014. Процитовано 19 вересня 2014.
  4. Encodings — Ripple Wiki. Архів оригіналу за 3 вересня 2014. Процитовано 19 вересня 2014.
  5. Flickr Services. Архів оригіналу за 12 серпня 2014. Процитовано 19 вересня 2014.
  6. Flickr: Discussing manufacturing flic.kr style photo URLs in Flickr API. Архів оригіналу за 5 жовтня 2014. Процитовано 19 вересня 2014.