gpt4 book ai didi

java - Base64 - python 与 java 值大于 63

转载 作者:太空宇宙 更新时间:2023-11-03 19:05:15 27 4
gpt4 key购买 nike

我正在尝试将 python 的一些代码转换为 java。现在,Python Base64 编码器的值大于 63。

Python:

s = chr(59) + chr(234)
print(base64.b64encode(s))
>> O+o=

java

char[] chars = {59, 234};
String data = new String(chars);
byte[] encoded = Base64.encodeBase64(data.getBytes());
System.out.println(new String(encoded));
>> O8Oq

有人有什么想法吗?

最佳答案

请注意,Python 中的代码片段已经处理字节,而 Java 版本以 Unicode 字符开头,然后通过调用 data.getBytes() 将它们转换为字节。

您可以通过先编码为 UTF-8 在 Python 中获得相同的结果:

>>> (unichr(59) + unichr(234)).encode('utf-8').encode('base64')
'O8Oq\n'

关于java - Base64 - python 与 java 值大于 63,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913673/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com