gpt4 book ai didi

java - FileOutputStream 将 `0A` 字节更改为 `0D 0A`

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

我使用以下代码将 float 转换为 byte[] 数组:

byte[] bytes = ByteBuffer.allocate(4).putFloat(number).array();

例如,如果我输入数字0.02f,我会得到字节[60,-93,-41,10]然后我尝试使用以下代码将此 byte[] 写入文件:

FileOutputStream fos = new FileOutputStream(file);
fos.write(bytes);
dbf.close();

在大多数平台上的十六进制编辑器中,此文件如下所示:3C A3 D7 0A。但在特殊设备上,相同的代码给出:3C A3 D7 0D 0A。在每个 0A 0D 出现之前。

我知道 0ALF0D 0ACRLF 但我不知道如何这个可以。

可以与什么连接?

最佳答案

听起来当数据传输到您的“特殊设备”时,它就像文本文件一样被翻译。这将以您所看到的方式损坏文件。例如FTP 有一个文本传输模式可以做到这一点。

您不应该混淆文本和二进制。您正在编写二进制格式,如果您将其作为二进制格式读取,则新行不相关。

不要将其作为文本阅读,因为它不是文本,您不会遇到问题。

关于java - FileOutputStream 将 `0A` 字节更改为 `0D 0A`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43513101/

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