gpt4 book ai didi

java - 为什么对于同一文本,Python 和 Java Base64 编码有不同的结果?

转载 作者:行者123 更新时间:2023-12-02 08:56:23 25 4
gpt4 key购买 nike

我在 python 和 java 中有两个代码如下,但运行它们得到不同的结果,发生了什么?

python2.7代码:

#encoding:utf-8
import json
import base64

st_test = {"test":"测试内容"}
body = json.dumps(st_test,ensure_ascii=False)
res = base64.b64encode(body)
prin res
#eyJ0ZXN0IjogIua1i+ivleWGheWuuSJ9

Java代码:

import java.util.Base64;

body = "{\"test\":\"测试内容\"}";
String body64 = Base64.getEncoder().encodeToString(body.getBytes("UTF-8")) ;
System.out.println(body64);
//eyJ0ZXN0Ijoi5rWL6K+V5YaF5a65In0=

最佳答案

您有两个不同的字符串 - Java: 之后没有空格

如果我删除空格

body = body.replace(' ', '')

然后我得到相同的代码

<小时/>
import json
import base64

st_test = {"test": "测试内容"}
body = json.dumps(st_test, ensure_ascii=False)
print body

body = body.replace(' ', '')
print body

res = base64.b64encode(body)
print res
print (res == 'eyJ0ZXN0Ijoi5rWL6K+V5YaF5a65In0=')

结果

{"test": "测试内容"}
{"test":"测试内容"}
eyJ0ZXN0Ijoi5rWL6K+V5YaF5a65In0=
True

关于java - 为什么对于同一文本,Python 和 Java Base64 编码有不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60461607/

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