`atob` 抛出 "The string to be decoded is not correctly encoded"
`atob` throws "The string to be decoded is not correctly encoded"
我遇到了 atob
抛出异常的问题
The string to be decoded is not correctly encoded.
关于堆栈溢出已经有一些类似的问题,但它们处理的是 "complex" 问题(文件 and/or URL 编码)我的代码要简单得多:
atob("MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA");
由于字符串长度为 41,我尝试添加 0、1、2 或 3 个“=”,但没有成功。
预期结果(由我测试的任何在线 base64 解码器返回)是一个纯字符串:
0.05813049898 0.05554189906 1
我尝试了 dGVzdA==
或 dGVzdA
,它被正确解码为 "test"。
那么我应该感到羞耻的明显问题是什么?
如果这很重要,我是 运行 Chromium 81。
PS:我只是把字符串编码回来(为什么我一开始没有想到?)。看起来编码后的字符串应该是
MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDE=
解码正常。
atob("MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDE=");
PS2:
atob 工作得很好。 根据 http://www.monobjc.net/xib-file-format.html,这应该归咎于输入字符串(和 Apple)。所以如果 ile file.length %4 == 1,我想答案只是去掉最后一个字符。 2 或 3 我不知道
如果你btoa
你的预期结果,你会得到:
console.log(btoa("0.05813049898 0.05554189906 1"));
这与您的原始字符串不同。
我遇到了 atob
抛出异常的问题
The string to be decoded is not correctly encoded.
关于堆栈溢出已经有一些类似的问题,但它们处理的是 "complex" 问题(文件 and/or URL 编码)我的代码要简单得多:
atob("MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA");
由于字符串长度为 41,我尝试添加 0、1、2 或 3 个“=”,但没有成功。
预期结果(由我测试的任何在线 base64 解码器返回)是一个纯字符串:
0.05813049898 0.05554189906 1
我尝试了 dGVzdA==
或 dGVzdA
,它被正确解码为 "test"。
那么我应该感到羞耻的明显问题是什么?
如果这很重要,我是 运行 Chromium 81。
PS:我只是把字符串编码回来(为什么我一开始没有想到?)。看起来编码后的字符串应该是
MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDE=
解码正常。
atob("MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDE=");
PS2: atob 工作得很好。 根据 http://www.monobjc.net/xib-file-format.html,这应该归咎于输入字符串(和 Apple)。所以如果 ile file.length %4 == 1,我想答案只是去掉最后一个字符。 2 或 3 我不知道
如果你btoa
你的预期结果,你会得到:
console.log(btoa("0.05813049898 0.05554189906 1"));
这与您的原始字符串不同。