Если вы только знакомитесь с кодировкой, начните со статьи как работает Base64, а если что-то уже сломалось, переходите сразу к ошибкам Base64. Для быстрых справок есть таблица алфавита и глоссарий.
- base64hub
- Статьи о Base64
Статьи о Base64
Как работает Base64, где он используется и что делать, если декодирование не удаётся. В каждой статье есть проверенные примеры и ссылки на подходящие инструменты.
3→4РазборКак работает Base64Как Base64 превращает 3 байта в 4 символа: 6-битные группы, алфавит из 64 символов и дополнение =, разбор примеров Man, Ma и M и где Base64 встречается.==РазборДополнение (=)Почему Base64 кончается на = или ==, когда дополнение не нужно, какие декодеры его требуют, как вернуть его по длине mod 4 и что такое неканонические строки.-_РуководствоBase64 и Base64URLBase64URL меняет + и / на - и _ и обычно отбрасывает дополнение. RFC 4648 §4 и §5, где какой вариант нужен, как конвертировать и почему + превращается в пробел.!=БезопасностьКодирование и шифрованиеBase64 ничего не скрывает: расшифровать base64 может любой без ключа. Как утекают Basic Auth, секреты Kubernetes и JWT и что взять взамен: AES-GCM, Argon2.IMGПроизводительностьПроизводительность data URIЗамеры: как gzip и Brotli сжимают Base64 data URI для PNG, JPEG, WOFF2 и SVG, плюс кеширование, блокировка рендеринга, правила CSP для data: и когда встраивать.33%СправочникРост размераДлина Base64 равна 4 × ceil(n / 3) символов. Точная формула с дополнением и переносами строк MIME, таблица размеров, откуда берутся 33% и что даёт сжатие.@РуководствоBase64 в почтеКак почта использует Base64: base64 и quoted-printable, строки по 76 символов, вложения, заголовки =?UTF-8?B?...?= и как достать файлы из .eml.vsРазборBase64 и другие кодировкиBase64, hex, Base32, Base58, Ascii85, Z85 и Base45 рядом: алфавиты, рост размера, регистр и безопасность для URL, плюс одни и те же 12 байт в каждой кодировке.iVBСправочникТипичные префиксы Base64Что значат iVBORw0KGgo, /9j/, JVBERi0, UEsDB, H4sI, eyJ и MII: таблица префиксов Base64 для PNG, JPEG, PDF, ZIP, gzip, JSON, сертификатов и других форматов.ERRРешение проблемОшибки Base64Как исправить ошибки Base64: Incorrect padding, Invalid character, сбои atob, Illegal base64 character в Java, кракозябры и двойное кодирование.u8РуководствоUint8Array.toBase64()Разбираем Uint8Array.toBase64, fromBase64, setFromBase64, toHex и fromHex: опции, lastChunkHandling, поддержка в браузерах и Node.js и запасной вариант кода.JWTРазборBase64 в JWTКак JSON Web Token использует Base64URL без дополнения, как вручную декодировать заголовок и payload на JS, Python и bash и какие ошибки ломают токены.RFCСправочникСтандарты и RFC Base64История Base64 в RFC: PEM (RFC 989, 1421), MIME (RFC 2045), RFC 3548 и 4648, base64url в JWS, modified UTF-7 в IMAP, броня OpenPGP и другие варианты.