gpt4 book ai didi

java - 将字节数组转换为字符串,然后再次将其返回到字节数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:54:19 26 4
gpt4 key购买 nike

我是 Java 初学者,我有一些字节数组需要转换为字符串。
之后我想将它从字符串改回字节数组。
我尝试了下面的代码,但它不起作用,因为第 2 行的返回值与原始数组不匹配:

byte[] comData = byteArray;
String value = new String(comData);
byte[] comData2 = value.getBytes();
// comData2 does not equal comData

最佳答案

如果这是一个任意字节集合,即它不是实际上编码的文本,那么我建议您使用 base64。有一个 public domain library available这使它变得容易(或各种其他第三方库)。

示例代码:

byte[] originalData = ...
String base64 = Base64.encode(myByteArray);
byte[] decoded = Base64.decode(base64);

您的原始代码假定数据表示以平台默认编码编码的文本。您应该几乎总是避免使用平台默认编码 - 如果您确实想要使用文本编码,通常最好指定一个,例如

byte[] encodedText = text.getBytes("utf-8");

(当然,如果您正在解码二进制数据,那么您无法选择编码 - 您需要知道使用哪种编码。)

关于java - 将字节数组转换为字符串,然后再次将其返回到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557915/

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