【发布时间】:2020-03-31 01:19:47
【问题描述】:
有人可以向我解释如何将字符串“®”编码为 base64(我刚刚选择了任何非 ASCII 字符来举例说明)吗?此字符表示二进制代码 174 或 10101110。
结果是“wq4=”(通过检查两个在线进行 base64 编码的不同网站得到这个)。
我了解 base64 编码系统的工作原理。对于 ASCII 字符,我可以获得正确的结果,但对于任何非 ASCII 字符,结果永远不会匹配。
我尝试了两种方法:
- 直接使用此 char (10101110) 的二进制文件并将其拆分为 2 个 6 位的块:101011 和 100000。对于 base64,它们对应于“rg”
- 首先将 10101110 转换为 UTF-8,所以我有 2 个字节:11010101 和 10110000。然后我混合这两个字节并将它们分成 6 位块:110101 011011 000000。对于 base64,它们对应于“1bA”。李>
我不知道如何处理非 ASCII 字符。通过对任何 ASCII 字符进行相同的计算,就可以了。
有谁知道我做错了什么?
【问题讨论】:
标签: unicode encoding base64 ascii