Перейти к содержанию
TextArray
100% локально

Кодирование и декодирование Base58

Кодируйте текст в Base58 с помощью биткойн-алфавита и декодируйте его обратно.

Входные данные

Кодирование и декодирование Base58

Base58 превращает данные в компактную строку, состоящую из 58 выбранных символов — алфавита Биткойна 123456789, A–Z и a–z с намеренно опущенными 0, O, I и l. Эти четыре символа люди путают, читая значение вслух, копируя его с бумаги или щурясь на шрифт, где 0 выглядит как O, а l выглядит как I. Это делает Base58 предпочтительной кодировкой везде, где человеку может потребоваться расшифровать результат: адреса биткойнов, хэши контента IPFS и сервисы коротких идентификаторов, такие как Flickr, которые используют в URL-адресах.

Выберите направление и вставьте текст. Кодирование берет входные байты UTF-8 и преобразует их в Base58, при этом ведущие нулевые байты становятся ведущими 1 символами, точно так, как это определяет Биткойн. Декодирование обращает процесс и преобразует байты обратно в текст; Пробелы и разрывы строк во вставленном значении игнорируются, а первый символ вне алфавита упоминается в ошибке, поэтому случайный 0 или O обнаруживается немедленно.

Встроены два честных ограничения. Декодированные биткойн-адреса и хэши контента являются двоичными, а не текстовыми — если декодированные байты не являются допустимыми UTF-8, инструмент сообщает об этом вместо вывода мусора. А поскольку в Base58 нет размера блока с выравниванием по байтам, стоимость преобразования резко возрастает с увеличением размера, поэтому входные данные ограничиваются 100 КБ с четким сообщением, а не с замороженной вкладкой.

В отличие от Base64, Base58 также отбрасывает + и /, что обеспечивает безопасность значений внутри URL-адресов без дополнительного экранирования. Все работает в вашем браузере — ничего из того, что вы вставляете, никуда не загружается. Скопируйте результат или загрузите его в виде файла .txt.

FAQ

Для чего используется Base58?
Везде, где человек может прочитать, произнести или перепечатать закодированное значение: адреса биткойнов и других криптовалют, идентификаторы контента IPFS и короткие идентификаторы, удобные для URL-адресов. В алфавите отсутствуют символы, которые чаще всего путают при печати, поэтому значение сохраняется при написании на бумаге или чтении по телефону.
Почему 0, O, I и l запрещены?
Это классические пары-двойники: ноль и заглавная буква О, а также заглавная буква I и строчная буква l. Base58 удаляет все четыре, поэтому никакие два символа в значении нельзя перепутать. Если вставленное вами значение содержит один из них, это ошибка транскрипции — ошибка называет точный символ, который нужно исправить.
Чем Base58 отличается от Base64?
Base64 имеет больший алфавит и блоки с байтовым выравниванием, поэтому он быстрее обрабатывается и немного более компактен, но включает 0, O, I, l, + и /, которые враждебны людям и URL-адресам. Base58 немного жертвует размером и скоростью в пользу значений, которые можно безопасно расшифровать и вставить куда угодно.
Почему декодирование говорит, что мои данные двоичные?
Значение Base58 декодировано правильно, но полученные байты не являются допустимым текстом UTF-8. Это нормально для биткойн-адресов и хэшей, которые кодируют необработанный двоичный код — байт версии и хэш ключа, а не предложения. Этот инструмент показывает декодированные результаты только в виде текста.
Мой текст где-нибудь загружен?
Нет. Кодирование и декодирование полностью выполняются в вашем браузере, и ваши данные никогда не покидают ваше устройство.