Base58 в Text Конвертер
Кодуйте текст у Base58 або декодуйте Base58 назад у текст за алфавітом Bitcoin, у якому немає 0, O, I та l, щоб уникнути плутанини. Інструмент перетворює введені дані на байти UTF-8, зберігає початкові нульові байти як початкові символи 1 і перевіряє кожен символ під час декодування. Він підходить розробникам, які працюють з ідентифікаторами Bitcoin, Solana та IPFS. Введення обмежене 10 KiB, оскільки обсяг обчислень для Base58 зростає квадратично.
Поширені запитання
Що таке Base58?
Base58 — це двійково-текстове кодування, яке трактує дані як одне велике число й записує його в системі числення з основою 58. Його запровадили разом із Bitcoin, щоб створювати компактні рядки, які легко читати й копіювати. Алфавіт містить цифри й літери, але не містить 0, O, I та l.
Який алфавіт використовує інструмент?
Він використовує алфавіт Bitcoin 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz, який також застосовують Solana, IPFS і більшість бібліотек. Ripple і Flickr використовують інший порядок символів і не підтримуються.
Можна спробувати відомий приклад?
Текст hello world кодується як StV1DL6CwTryKyV, а abc — як ZiCa. Порожні вхідні дані дають порожній результат. Декодування цих рядків повертає початковий текст.
Це Base58Check?
Ні. Base58Check, який використовують для адрес Bitcoin, додає байт версії та чотирибайтову подвійну контрольну суму SHA-256 перед кодуванням. Цей інструмент кодує необроблені байти тексту без контрольної суми.
Чому встановлено обмеження 10 KiB?
Під час перетворення Base58 одне велике число багаторазово ділиться, тому обсяг обчислень зростає пропорційно квадрату довжини введених даних. Base58 призначено для коротких значень, як-от ключі й адреси, а 10,240 байтів — це набагато більше, ніж їм потрібно.
Як обробляються початкові нульові байти?
Кожен початковий нульовий байт перетворюється на початковий символ 1, а кожен початковий символ 1 під час декодування перетворюється назад на нульовий байт. Текст рідко починається з нульового байта, але так кодування залишається точним.
Чому декодування завершується помилкою про UTF-8?
Багато рядків Base58, як-от відкриті ключі чи адреси, містять випадкові байти, а не текст. Інструмент показує лише декодовані дані, що є коректним текстом UTF-8, тому повідомляє про такі вхідні дані, а не виводить нечитабельні символи.
Чому мій ввід відхилено як недійсний?
Символи поза алфавітом, зокрема 0, O, I, l, пробіли всередині рядка та розділові знаки, не є допустимими для Base58. Початкові й кінцеві пробіли видаляються перед декодуванням.
Base58 — це різновид шифрування?
Ні. Base58 — це зворотне кодування без ключа, тому декодувати дані може будь-хто. Використовуйте його для зручності читання, а не для секретності.
Base58 довший за Base64?
Трохи. Base58 потребує приблизно 1.37 символа на байт, тоді як Base64 — приблизно 1.33. Невелике збільшення довжини дає змогу уникнути схожих символів і розділових знаків в алфавіті.