gpt4 book ai didi

Java:穿插字节和字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:05 25 4
gpt4 key购买 nike

我有一个测试设备,我可以使用 InputStream 从中读取数据,它散布字节和字符(组织成行),例如:

TEST1
TEST2
500
{500 binary bytes follows here}
TEST3
TEST4
600
{600 binary bytes follows here}

我想使用 BufferedReader 一次读取一行,然后切换到 InputStream 以便读取二进制字节。但这似乎既行不通,也不是一个好主意。

我该怎么做?我无法从 BufferedReader 获取字节,如果我在 InputStream 之上使用 BufferedReader,BufferedReader 似乎“拥有”InputStream。

编辑:另一种方法,只是在任何地方都使用 InputStream,并且必须转换字节-> 字符并寻找换行符,这似乎肯定可行,但也会很痛苦。

最佳答案

当使用 BufferedReader 时,您可以只使用 String#getBytes()String 行中获取字节。不要忘记考虑字符编码。我建议始终使用 UTF-8

仅供引用:从另一方面来说,如果您只有字节并且想要构造字符,只需使用new String(bytes)。另外不要忘记在这里考虑字符编码。

[编辑] 毕竟,最好使用 BufferedInputStream 并为单行构造一个字节缓冲区(填充直到字节匹配换行符)并测试其开始的字符表示是否与预定义字符串之一匹配.

关于Java:穿插字节和字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1675898/

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