我正在使用this javascript程序尝试对某些字符串进行编码/解码。
这适用于某些字符串,但对于这些电子邮件,我得到的结果无效:
base32.encode("юзер@екзампл.ком.example.com");
输出:
9rvundefinedag206mxundefinedecundefinedw7wxjweundefinedy7gq6ay31dnr6rt9ecdqp
输入:
base32.decode(9rvundefinedag206mxundefinedecundefinedw7wxjweundefinedy7gq6ay31dnr6rt9ecdqpu");
结果:
"N7ªµÏ\Õ@@5;ªµÏ\×3Uk¹¼?;.;Uk¹¾<.example.com"
正如您所看到的,它在解码时不会产生原始字符串。不知道为什么。
答案 0 :(得分:0)
юзер@екзампл.ком.example.com
。
它是28个字符,不是所有ASCII(或一个字节utf-8)。
但是有几个输入字符是多字节的utf-8字节 它是42 utf-8字节。
Base32编码它应该是每个字节的两个字符。
9rvundefinedag206mxundefinedecundefinedw7wxjweundefinedy7gq6ay31dnr6rt9ecdqp
是76个字符,预期长度有明显错误。
预期的Base32编码应为84个字符。
这可能是因为几个输入字符是多字节utf-8字节。
问题中似乎缺少一些东西。