gpt4 book ai didi

java - 调试 UTF-8 解码是否正确?

转载 作者:可可西里 更新时间:2023-11-01 02:49:11 24 4
gpt4 key购买 nike

我们有一个 Java 代码通过 TCP 连接与外部系统对话,其中的 xml 消息以 UTF-8 编码。

收到的消息以“?”开头。所以收到的 XML 是

?<begin>message</begin>

第一个字符是否确实是“?”确实值得怀疑。目前,我们不能询问外部系统是否/什么。

读取流的代码片段如下。

    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));

int readByte = reader.read();
if (readByte <= 0) {
inputStream.close();
}
builder.append((char) readByte);

我们目前正在尝试记录原始字节 int readByte = inputStream.read()。日志需要几天时间才能收到。

与此同时,我想知道我们如何才能最终确定它是否真的是 '?'而不是解码问题?

最佳答案

我强烈怀疑你有一个 byte-order-mark在你的文档的开头。这不会呈现为有效字符,因此可能显示为问号。您可以转储原始字节并检查该序列吗?

关于java - 调试 UTF-8 解码是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21850679/

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