gpt4 book ai didi

java - 将 32 字节数组转换为 32 位字符串

转载 作者:行者123 更新时间:2023-11-29 08:28:16 26 4
gpt4 key购买 nike

我有以下代码。我有一个 32 长度的字符串,它被转换为一个字节数组。问题是我需要将它转换为 32 位长度的字符串。问题是,它以 64 位长度的字符串形式返回。有什么我应该看的魔法吗?

class Go {

public void run() {
String testString = "12345678901234567890123456789012";

byte[] bytesData = testString.getBytes();
StringBuilder st = new StringBuilder();

for (byte b : bytesData) {
st.append(String.format("%2d", b));
}

System.out.println(st.toString());
}


public static void main(String[] v2) {
Go v = new Go();
v.run();
}
}

最佳答案

@azro 给了你正确的答案,但为了教育,我会指出你做错了什么。当您获取字符串中 charbyte 值时,您将获取 ascii 值。因此,当您使用 String.format("%2d", b) 时,您得到的是 char 本身的 int 值,而不是它代表的 char。相反,您可以将循环更改为如下所示:

    for (byte b : bytesData) {
st.append( (char)b );
}

但是,再次使用@azro 所说的内容。如果您对引擎盖下的工作原理感兴趣,我只是在解释如何去做。

关于java - 将 32 字节数组转换为 32 位字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50610543/

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