gpt4 book ai didi

java - 我可以从编码的 UTF-8 字节数组创建 DOM 文档吗?

转载 作者:数据小太阳 更新时间:2023-10-29 02:59:10 26 4
gpt4 key购买 nike

我的情况:我有一个接受字节数组的方法。有问题的数组使用 UTF-8 编码,最初是 XML 消息。我希望能够使用 DOM 解析器重新构建此消息。我知道我可以通过使用 ByteBuffer 从字节数组创建文档。唯一的问题是,如果我将其直接应用于传递的字节数组,它将创建一个损坏的文档(如果可能的话)。这是因为数组是一个编码的 XML 消息,以 UTF-8 编码。但是,当我使用 decode() 方法解码数组时,我得到返回的 CharBuffer:

ByteBuffer encodedData = ByteBuffer.wrap(data);
CharBuffer decodedData = Charset.forName("UTF-8").decode(encodedData);

我不知道如何从中构造文档,因为在 DocumentBuilder 中没有定义接受 CharBuffer 的 parse() 方法....

谁能帮我解决这个问题?

最佳答案

DocumentBuilder 有一个 parse(InputStream is) 方法,您可以通过传入从您的字节创建的 ByteArrayInputStream 来创建您的文档。

Document doc = DocumentBuilder.parse(new ByteArrayInputStream(data));

关于java - 我可以从编码的 UTF-8 字节数组创建 DOM 文档吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040629/

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