gpt4 book ai didi

java - 不同编码的字节

转载 作者:行者123 更新时间:2023-12-01 09:59:32 25 4
gpt4 key购买 nike

这是一个非常奇怪的问题(至少对我来说),但我发现 Java 中的编码有一些奇怪的行为。例如,您有一些字节集。然后您将此字节解释为某种编码中的字符串。然后您获取该字符串的字节并将其保存到另一个文件中。我认为编码只是将字节解释为字符串的指定方式。但这样两个文件中的字节必须相同,但事实并非如此。

这是示例代码实例:

    FileInputStream inputStream = new FileInputStream(new File("firstFile"));
byte[] arr = new byte[50000];
int l = inputStream.read(arr,0,50000);
arr = Arrays.copyOfRange(arr,0, l);
BASE64Encoder encoder = new BASE64Encoder();
String st = encoder.encode(arr);

FileOutputStream outputStream = new FileOutputStream(new File("secondFile"));
outputStream.write(st.getBytes(), 0, st.getBytes().length);
inputStream.close();
outputStream.close();

最佳答案

假设第一个文件包含一个字节,0x00。

该字节的 Base-64 编码将是 String"AA=="

当您对该字符串调用 getBytes() 时,您将获得 0x41、0x41、0x3D、0x3D — 字符串中的每个字符一个字节。

这些是写入第二个文件的字节。

关于java - 不同编码的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36923670/

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