gpt4 book ai didi

java - ByteArrayOutputStream 转换期间添加的特殊字符

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

我有一个 XmlObject,它具有我需要的正确值。例如:1½-2Y

但是当我尝试将其转换为流字节时,我看到的结果是 1½-2Y。

示例代码:

import org.apache.xmlbeans.XmlObject;
Class MyClass implements XmlBuilder<T> {

protected final String serializeToXml(XmlObject xmlObject) {
ByteArrayOutputStream os = null;
try {
os = new ByteArrayOutputStream();
xmlObject.save(os,createXmlOptions()); /Its adding a special char here
return os.toString();
}
}
protected final XmlOptions createXmlOptions() {
final XmlOptions xmlOptions = new XmlOptions();
xmlOptions.setValidateOnSet();
xmlOptions.setCharacterEncoding(UTF_8_ENCODING);
return xmlOptions;
}
}

最佳答案

os.toString() 将在内部调用 new String(buffer),因此将使用我认为不是 UTF 的系统编码-8。

一般来说,您应该明确提供编码,例如new String( os.toByteArray(), "UTF-8")

关于java - ByteArrayOutputStream 转换期间添加的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40784009/

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