Кодування та декодування Base58
Кодуйте текст у Base58 за допомогою алфавіту Bitcoin і декодуйте його назад.
Кодування та декодування Base58
Base58 перетворює дані в компактний рядок, який складається з 58 підібраних вручну символів — алфавіту біткойнів 123456789, A–Z і a–z із 0, O, I та l, навмисно пропущеними. Ці чотири символи люди плутають, читаючи значення вголос, копіюючи його з паперу або дивлячись на шрифт, де 0 виглядає як O, а l виглядає як I. Це робить кодування Base58 вибором, коли людина може транскрибувати результат: адреси Bitcoin, хеші вмісту IPFS і служби коротких ідентифікаторів, такі як Flickr, які використовують в URL-адресах.
Виберіть напрямок і вставте текст. Кодування використовує байти UTF-8 у вхідних даних і перетворює їх на Base58, причому початкові нульові байти стають першими символами 1, точно так, як це визначає біткойн. Декодування повертає процес і повертає байти як текст; Пробіли та розриви рядків у вставленому значенні ігноруються, а перший символ за межами алфавіту вказується в повідомленні про помилку, тому випадковий 0 або O буде знайдено негайно.
Вбудовано два чесних обмеження. Декодовані адреси біткойнів і хеші вмісту є двійковими, а не текстовими — якщо декодовані байти не є дійсними UTF-8, інструмент повідомляє про це замість друку сміття. І оскільки Base58 не має розміру блоку з вирівнюванням байтів, вартість перетворення різко зростає з розміром, тому вхідні дані обмежені 100 КБ із чітким повідомленням, а не замороженою вкладкою.
На відміну від Base64, Base58 також відкидає + і /, що зберігає значення всередині URL без додаткового екранування. Усе працює у вашому браузері — нічого, що ви вставляєте, нікуди не завантажується. Скопіюйте результат або завантажте його як файл .txt.