[{"data":1,"prerenderedAt":668},["ShallowReactive",2],{"navigation_docs":3,"-guide-cli":128,"-guide-cli-surround":663},[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":24,"body":130,"description":657,"extension":658,"links":659,"meta":660,"navigation":318,"path":25,"seo":661,"stem":26,"__hash__":662},"docs\u002F1.guide\u002F05.cli.md",{"type":131,"value":132,"toc":648},"minimark",[133,138,182,186,265,284,288,339,360,367,405,412,416,468,485,489,492,543,550,552,582,589,593,606,641,644],[134,135,137],"h2",{"id":136},"install-or-run-once","Install or run once",[139,140,145],"pre",{"className":141,"code":142,"language":143,"meta":144,"style":144},"language-bash shiki shiki-themes encodings encodings encodings","pnpm add -g @agntn\u002Fencodings\nnpx @agntn\u002Fencodings identify 'JBSWY3DPEBLW64TMMQ======'\n","bash","",[146,147,148,167],"code",{"__ignoreMap":144},[149,150,153,157,161,164],"span",{"class":151,"line":152},"line",1,[149,154,156],{"class":155},"sK71F","pnpm",[149,158,160],{"class":159},"shU9J"," add",[149,162,163],{"class":159}," -g",[149,165,166],{"class":159}," @agntn\u002Fencodings\n",[149,168,170,173,176,179],{"class":151,"line":169},2,[149,171,172],{"class":155},"npx",[149,174,175],{"class":159}," @agntn\u002Fencodings",[149,177,178],{"class":159}," identify",[149,180,181],{"class":159}," 'JBSWY3DPEBLW64TMMQ======'\n",[134,183,185],{"id":184},"commands","Commands",[187,188,189,202],"table",{},[190,191,192],"thead",{},[193,194,195,199],"tr",{},[196,197,198],"th",{},"Command",[196,200,201],{},"Does",[203,204,205,216,226,236,250],"tbody",{},[193,206,207,213],{},[208,209,210],"td",{},[146,211,212],{},"encodings encode \u003Cencoding> \u003Cinput>",[208,214,215],{},"Write text or bytes in an encoding",[193,217,218,223],{},[208,219,220],{},[146,221,222],{},"encodings decode \u003Cencoding> \u003Ctext>",[208,224,225],{},"Read it back into bytes",[193,227,228,233],{},[208,229,230],{},[146,231,232],{},"encodings identify \u003Ctext>",[208,234,235],{},"Rank the encodings it decodes in",[193,237,238,243],{},[208,239,240],{},[146,241,242],{},"encodings list [encoding]",[208,244,245,246,249],{},"Every encoding, one family with ",[146,247,248],{},"--family",", or one with its alphabet and options",[193,251,252,257],{},[208,253,254],{},[146,255,256],{},"encodings mcp",[208,258,259,260,264],{},"The ",[261,262,263],"a",{"href":29},"MCP server"," over stdio",[266,267,268,271,272,275,276,279,280,283],"p",{},[146,269,270],{},"-"," instead of the input reads stdin. ",[146,273,274],{},"encode"," takes it byte for byte. ",[146,277,278],{},"decode"," and ",[146,281,282],{},"identify"," drop one trailing line break, the one your shell pipe added.",[134,285,287],{"id":286},"stdout-is-the-answer","Stdout is the answer",[139,289,291],{"className":141,"code":290,"language":143,"meta":144,"style":144},"encodings encode base64 'hello world!'\n# aGVsbG8gd29ybGQh\n\nencodings decode base64 aGVsbG8gd29ybGQh\n# hello world!\n",[146,292,293,307,313,320,333],{"__ignoreMap":144},[149,294,295,298,301,304],{"class":151,"line":152},[149,296,297],{"class":155},"encodings",[149,299,300],{"class":159}," encode",[149,302,303],{"class":159}," base64",[149,305,306],{"class":159}," 'hello world!'\n",[149,308,309],{"class":151,"line":169},[149,310,312],{"class":311},"scIB-","# aGVsbG8gd29ybGQh\n",[149,314,316],{"class":151,"line":315},3,[149,317,319],{"emptyLinePlaceholder":318},true,"\n",[149,321,323,325,328,330],{"class":151,"line":322},4,[149,324,297],{"class":155},[149,326,327],{"class":159}," decode",[149,329,303],{"class":159},[149,331,332],{"class":159}," aGVsbG8gd29ybGQh\n",[149,334,336],{"class":151,"line":335},5,[149,337,338],{"class":311},"# hello world!\n",[266,340,341,343,344,347,348,351,352,355,356,359],{},[146,342,278],{}," writes the raw bytes, like ",[146,345,346],{},"base64 -d"," does. Pipe them into a file, into ",[146,349,350],{},"xxd",", into the next command. Binary in your terminal? Add ",[146,353,354],{},"-o hex"," or ",[146,357,358],{},"-o base64",".",[266,361,362,363,366],{},"Whatever the text carried besides data goes to stderr. One ",[146,364,365],{},"key: value"," per line. Stdout stays clean.",[139,368,370],{"className":141,"code":369,"language":143,"meta":144,"style":144},"encodings decode bech32 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 -o hex\n# prefix: bc                                  (stderr)\n# witnessVersion: 0                           (stderr)\n# 751e76e8199196d454941c45d1b3a323f1433bd6\n",[146,371,372,390,395,400],{"__ignoreMap":144},[149,373,374,376,378,381,384,387],{"class":151,"line":152},[149,375,297],{"class":155},[149,377,327],{"class":159},[149,379,380],{"class":159}," bech32",[149,382,383],{"class":159}," bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4",[149,385,386],{"class":159}," -o",[149,388,389],{"class":159}," hex\n",[149,391,392],{"class":151,"line":169},[149,393,394],{"class":311},"# prefix: bc                                  (stderr)\n",[149,396,397],{"class":151,"line":315},[149,398,399],{"class":311},"# witnessVersion: 0                           (stderr)\n",[149,401,402],{"class":151,"line":322},[149,403,404],{"class":311},"# 751e76e8199196d454941c45d1b3a323f1433bd6\n",[266,406,407,408,411],{},"Those values come from the text, so they're escaped before they reach your terminal. A uuencode file name with an escape sequence shows up as ",[146,409,410],{},"\\u001b",". Not as a recolored prompt.",[134,413,415],{"id":414},"bytes-in","Bytes in",[139,417,419],{"className":141,"code":418,"language":143,"meta":144,"style":144},"encodings encode hex --input-format base64 aGk=\n# 6869\n\nencodings encode base58check 0062e907b15cbf27d5425399ebf6f0fb50ebb88f18 --input-format hex\n# 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa\n",[146,420,421,438,443,447,463],{"__ignoreMap":144},[149,422,423,425,427,430,433,435],{"class":151,"line":152},[149,424,297],{"class":155},[149,426,300],{"class":159},[149,428,429],{"class":159}," hex",[149,431,432],{"class":159}," --input-format",[149,434,303],{"class":159},[149,436,437],{"class":159}," aGk=\n",[149,439,440],{"class":151,"line":169},[149,441,442],{"class":311},"# 6869\n",[149,444,445],{"class":151,"line":315},[149,446,319],{"emptyLinePlaceholder":318},[149,448,449,451,453,456,459,461],{"class":151,"line":322},[149,450,297],{"class":155},[149,452,300],{"class":159},[149,454,455],{"class":159}," base58check",[149,457,458],{"class":159}," 0062e907b15cbf27d5425399ebf6f0fb50ebb88f18",[149,460,432],{"class":159},[149,462,389],{"class":159},[149,464,465],{"class":151,"line":335},[149,466,467],{"class":311},"# 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa\n",[266,469,470,473,474,477,478,279,481,484],{},[146,471,472],{},"--input-format"," is ",[146,475,476],{},"utf8"," by default. ",[146,479,480],{},"hex",[146,482,483],{},"base64"," encode the bytes they spell.",[134,486,488],{"id":487},"options","Options",[266,490,491],{},"A flag only reaches the encodings that declare it. Anything else is an error.",[139,493,495],{"className":141,"code":494,"language":143,"meta":144,"style":144},"encodings encode bech32 gm --prefix test\n# test1vaks69jerm\n\nencodings encode base64 gm --prefix bc\n# Invalid option prefix=bc: base64 does not take it\n",[146,496,497,514,519,523,538],{"__ignoreMap":144},[149,498,499,501,503,505,508,511],{"class":151,"line":152},[149,500,297],{"class":155},[149,502,300],{"class":159},[149,504,380],{"class":159},[149,506,507],{"class":159}," gm",[149,509,510],{"class":159}," --prefix",[149,512,513],{"class":159}," test\n",[149,515,516],{"class":151,"line":169},[149,517,518],{"class":311},"# test1vaks69jerm\n",[149,520,521],{"class":151,"line":315},[149,522,319],{"emptyLinePlaceholder":318},[149,524,525,527,529,531,533,535],{"class":151,"line":322},[149,526,297],{"class":155},[149,528,300],{"class":159},[149,530,303],{"class":159},[149,532,507],{"class":159},[149,534,510],{"class":159},[149,536,537],{"class":159}," bc\n",[149,539,540],{"class":151,"line":335},[149,541,542],{"class":311},"# Invalid option prefix=bc: base64 does not take it\n",[266,544,545,546,549],{},"Not sure what one takes? ",[146,547,548],{},"encodings list \u003Cencoding>"," shows it.",[134,551,20],{"id":282},[139,553,555],{"className":141,"code":554,"language":143,"meta":144,"style":144},"encodings identify 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa -n 2\n# 0.574  base58check      0062e907b15cbf27d5425399ebf6f0fb50ebb88f18  (checksum matches)\n# 0.043  base32-crockford 0a83fb05d62de0e7844da5b4fd04b90d3676876faa\n",[146,556,557,572,577],{"__ignoreMap":144},[149,558,559,561,563,566,569],{"class":151,"line":152},[149,560,297],{"class":155},[149,562,178],{"class":159},[149,564,565],{"class":159}," 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",[149,567,568],{"class":159}," -n",[149,570,571],{"class":159}," 2\n",[149,573,574],{"class":151,"line":169},[149,575,576],{"class":311},"# 0.574  base58check      0062e907b15cbf27d5425399ebf6f0fb50ebb88f18  (checksum matches)\n",[149,578,579],{"class":151,"line":315},[149,580,581],{"class":311},"# 0.043  base32-crockford 0a83fb05d62de0e7844da5b4fd04b90d3676876faa\n",[266,583,584,585,588],{},"Score, encoding, the decoded value as text or hex, and the reasons. ",[146,586,587],{},"-n"," sets how many.",[134,590,592],{"id":591},"exit-codes","Exit codes",[266,594,595,598,599,602,603,605],{},[146,596,597],{},"0"," when it worked. ",[146,600,601],{},"1"," with one line on stderr when it didn't. A bad character, a checksum that doesn't match, an unknown encoding. Or ",[146,604,282],{}," finding nothing at all.",[139,607,609],{"className":141,"code":608,"language":143,"meta":144,"style":144},"encodings decode base58check 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNb\n# base58check: checksum does not match\necho $?\n# 1\n",[146,610,611,622,627,636],{"__ignoreMap":144},[149,612,613,615,617,619],{"class":151,"line":152},[149,614,297],{"class":155},[149,616,327],{"class":159},[149,618,455],{"class":159},[149,620,621],{"class":159}," 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNb\n",[149,623,624],{"class":151,"line":169},[149,625,626],{"class":311},"# base58check: checksum does not match\n",[149,628,629,632],{"class":151,"line":315},[149,630,631],{"class":155},"echo",[149,633,635],{"class":634},"s38Sx"," $?\n",[149,637,638],{"class":151,"line":322},[149,639,640],{"class":311},"# 1\n",[266,642,643],{},"Colors only when both stdout and stderr are a terminal that takes them. A pipe gets plain text.",[645,646,647],"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 .shU9J, html code.shiki .shU9J{--shiki-light:var(--shiki-token-string);--shiki-default:var(--shiki-token-string);--shiki-dark:var(--shiki-token-string)}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);}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 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)}",{"title":144,"searchDepth":169,"depth":169,"links":649},[650,651,652,653,654,655,656],{"id":136,"depth":169,"text":137},{"id":184,"depth":169,"text":185},{"id":286,"depth":169,"text":287},{"id":414,"depth":169,"text":415},{"id":487,"depth":169,"text":488},{"id":282,"depth":169,"text":20},{"id":591,"depth":169,"text":592},"encode and decode and identify and list from the terminal. Bytes go to stdout raw and everything else goes to stderr","md",null,{},{"title":24,"description":657},"O7mTCvF5O5SfWfJxMT-fqnFPSQDhzYY9xBq4LwpEmrM",[664,666],{"title":20,"path":21,"stem":22,"description":665,"children":-1},"Rank the encodings a string decodes in. Each score comes with the reasons behind it",{"title":28,"path":29,"stem":30,"description":667,"children":-1},"The same four tools over MCP and Pi and OMP and the AI SDK. What they take and what they refuse and what the model reads back",1790956525439]