我正在为某些受限制的环境编写自己的BASE64编码器/解码器。
我发现Base64.Encoder#encodeString说它使用ISO-8859-1
从这些编码的字节构造一个字符串。
我完全假设ISO-8859-1
字符集也涵盖了所有base64字母表。
是否有任何理由不使用US-ASCII
?
答案 0 :(得分:9)
我怀疑它效率更高:从ISO-8859-1转换回文本只是将每个byte
直接推广到char
,而对于ASCII你需要检查byte
是否是有效的ASCII。当然,base64的结果总是相同的。
(这只是猜测,但是受过教育的人。如果你想验证它,你总是可以运行基准测试......)