[{"data":1,"prerenderedAt":234},["ShallowReactive",2],{"navigation_docs":3,"-encodings-base64":128,"-encodings-base64-surround":229},[4,40],{"title":5,"path":6,"stem":7,"children":8,"icon":39},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Encoding and Decoding","\u002Fguide\u002Fencoding","1.guide\u002F02.encoding",{"title":16,"path":17,"stem":18},"Checksums","\u002Fguide\u002Fchecksums","1.guide\u002F03.checksums",{"title":20,"path":21,"stem":22},"Identify","\u002Fguide\u002Fidentify","1.guide\u002F04.identify",{"title":24,"path":25,"stem":26},"CLI","\u002Fguide\u002Fcli","1.guide\u002F05.cli",{"title":28,"path":29,"stem":30},"Agents","\u002Fguide\u002Fagents","1.guide\u002F06.agents",{"title":32,"path":33,"stem":34},"Custom Encodings","\u002Fguide\u002Fcustom","1.guide\u002F07.custom",{"title":36,"path":37,"stem":38},"Playground","\u002Fguide\u002Fplayground","1.guide\u002F08.playground","i-lucide-book-open",{"title":41,"path":42,"stem":43,"children":44,"icon":127},"Encodings","\u002Fencodings","2.encodings\u002F00.index",[45,47,51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123],{"title":46,"path":42,"stem":43},"Every encoding",{"title":48,"path":49,"stem":50},"Binary","\u002Fencodings\u002Fbinary","2.encodings\u002F01.binary",{"title":52,"path":53,"stem":54},"Hex","\u002Fencodings\u002Fhex","2.encodings\u002F02.hex",{"title":56,"path":57,"stem":58},"Base32","\u002Fencodings\u002Fbase32","2.encodings\u002F03.base32",{"title":60,"path":61,"stem":62},"Base32hex","\u002Fencodings\u002Fbase32hex","2.encodings\u002F04.base32hex",{"title":64,"path":65,"stem":66},"Crockford's Base32","\u002Fencodings\u002Fbase32-crockford","2.encodings\u002F05.base32-crockford",{"title":68,"path":69,"stem":70},"z-base-32","\u002Fencodings\u002Fz-base-32","2.encodings\u002F06.z-base-32",{"title":72,"path":73,"stem":74},"Base45","\u002Fencodings\u002Fbase45","2.encodings\u002F07.base45",{"title":76,"path":77,"stem":78},"Base58","\u002Fencodings\u002Fbase58","2.encodings\u002F08.base58",{"title":80,"path":81,"stem":82},"Base58Check","\u002Fencodings\u002Fbase58check","2.encodings\u002F09.base58check",{"title":84,"path":85,"stem":86},"Base58 (Flickr)","\u002Fencodings\u002Fbase58-flickr","2.encodings\u002F10.base58-flickr",{"title":88,"path":89,"stem":90},"Base58 (Ripple)","\u002Fencodings\u002Fbase58-ripple","2.encodings\u002F11.base58-ripple",{"title":92,"path":93,"stem":94},"Base64","\u002Fencodings\u002Fbase64","2.encodings\u002F12.base64",{"title":96,"path":97,"stem":98},"Base64url","\u002Fencodings\u002Fbase64url","2.encodings\u002F13.base64url",{"title":100,"path":101,"stem":102},"Ascii85","\u002Fencodings\u002Fascii85","2.encodings\u002F14.ascii85",{"title":104,"path":105,"stem":106},"Z85","\u002Fencodings\u002Fz85","2.encodings\u002F15.z85",{"title":108,"path":109,"stem":110},"basE91","\u002Fencodings\u002Fbase91","2.encodings\u002F16.base91",{"title":112,"path":113,"stem":114},"Bech32","\u002Fencodings\u002Fbech32","2.encodings\u002F17.bech32",{"title":116,"path":117,"stem":118},"Bech32m","\u002Fencodings\u002Fbech32m","2.encodings\u002F18.bech32m",{"title":120,"path":121,"stem":122},"uuencode","\u002Fencodings\u002Fuuencode","2.encodings\u002F19.uuencode",{"title":124,"path":125,"stem":126},"Quoted-Printable","\u002Fencodings\u002Fquoted-printable","2.encodings\u002F20.quoted-printable","i-lucide-library",{"id":129,"title":92,"body":130,"description":222,"extension":223,"links":224,"meta":225,"navigation":226,"path":93,"seo":227,"stem":94,"__hash__":228},"docs\u002F2.encodings\u002F12.base64.md",{"type":131,"value":132,"toc":220},"minimark",[133,137,146,206,216],[134,135],"encoding-facts",{"name":136},"base64",[138,139,140,141,145],"p",{},"The one you've seen a million times. Three bytes, four characters, ",[142,143,144],"code",{},"="," to fill the last block.",[147,148,153],"pre",{"className":149,"code":150,"language":151,"meta":152,"style":152},"language-ts shiki shiki-themes encodings encodings encodings","encode(\"base64\", \"hello world!\");             \u002F\u002F \"aGVsbG8gd29ybGQh\"\ndecode(\"base64\", \"aGVsbG8g\\r\\nd29ybGQh\").bytes;  \u002F\u002F \"hello world!\", line break and all skipped\n","ts","",[142,154,155,185],{"__ignoreMap":152},[156,157,160,164,168,172,175,178,181],"span",{"class":158,"line":159},"line",1,[156,161,163],{"class":162},"sK71F","encode",[156,165,167],{"class":166},"s38Sx","(",[156,169,171],{"class":170},"shU9J","\"base64\"",[156,173,174],{"class":166},", ",[156,176,177],{"class":170},"\"hello world!\"",[156,179,180],{"class":166},");             ",[156,182,184],{"class":183},"scIB-","\u002F\u002F \"aGVsbG8gd29ybGQh\"\n",[156,186,188,191,193,195,197,200,203],{"class":158,"line":187},2,[156,189,190],{"class":162},"decode",[156,192,167],{"class":166},[156,194,171],{"class":170},[156,196,174],{"class":166},[156,198,199],{"class":170},"\"aGVsbG8g\\r\\nd29ybGQh\"",[156,201,202],{"class":166},").bytes;  ",[156,204,205],{"class":183},"\u002F\u002F \"hello world!\", line break and all skipped\n",[138,207,208,209,212,213,215],{},"Decoding skips whitespace, so a MIME body or a PEM block decodes as it is. It takes the text without padding too. The wrong padding, though? ",[142,210,211],{},"Zg="," is one ",[142,214,144],{}," short, and you'll hear about it. Characters from base64url are an error here, not a guess.",[217,218,219],"style",{},"html pre.shiki code .sK71F, html code.shiki .sK71F{--shiki-light:var(--shiki-token-function);--shiki-default:var(--shiki-token-function);--shiki-dark:var(--shiki-token-function)}html pre.shiki code .s38Sx, html code.shiki .s38Sx{--shiki-light:var(--ui-text-highlighted);--shiki-default:var(--ui-text-highlighted);--shiki-dark:var(--ui-text-highlighted)}html pre.shiki code .shU9J, html code.shiki .shU9J{--shiki-light:var(--shiki-token-string);--shiki-default:var(--shiki-token-string);--shiki-dark:var(--shiki-token-string)}html pre.shiki code .scIB-, html code.shiki .scIB-{--shiki-light:var(--shiki-token-comment);--shiki-default:var(--shiki-token-comment);--shiki-dark:var(--shiki-token-comment)}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":152,"searchDepth":187,"depth":187,"links":221},[],"RFC 4648 base64. Three bytes as four characters padded with = and line breaks skipped on decode","md",null,{},true,{"title":92,"description":222},"nyW6OIBYmg_NCbfgL7MELDCgQkE-Tqz7eB8gFnFZdUY",[230,232],{"title":88,"path":89,"stem":90,"description":231,"children":-1},"Base58 with the XRP Ledger alphabet where account addresses start with r",{"title":96,"path":97,"stem":98,"description":233,"children":-1},"RFC 4648 base64 with - and _ for URLs and file names. Unpadded the way JWT writes it",1790940133287]