gpt4 book ai didi

java - Base64 编码字符串不匹配

转载 作者:行者123 更新时间:2023-11-29 21:12:16 25 4
gpt4 key购买 nike

我很沮丧。我有一个基本的 Http 授权。为此,我设置了一个 HttpGetHeader。此 Header 需要进行 Base64 编码。我是这样做的:

String acc = uname + ":" + pword;
byte[] a = acc.getBytes();
String header = "Basic " + new String(Base64.encode(a, Base64.DEFAULT));

但是这个编码的字符串不起作用。当我记录标题时,它会打印出我需要的内容。它看起来与 String h = "Basic c2NodWsZXI6aGVpbmNA=="; 相同,这是有效的。但是当我比较 header.equals(h);header==h 时,它们都是 false。最后,当我将 header 设置为 header 时它不起作用,但是当我使用 h 时它起作用了。我猜它与字符串编码有关,但我尝试了 .getBytes("UTF-8") 和类似(ASCII,UTF-16)的不同方式,但它们都不起作用。用户名和密码为普通字符和数字。

谁能看出错误?谢谢格雷维乌斯

最佳答案

header.equals(h) 返回 false 表示字符串不相同。 header==h 应返回 false,因为它们不是相同的引用。

也许是空白?试试 header.trim().equals(h.trim())

关于java - Base64 编码字符串不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439027/

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