草庐IT

utf8_unicode_cs

全部标签

python - 如何解决 xml.etree.ElementTree.iterparse() 中的 Unicode 错误?

我正在使用Python的xml.etree.ElementTree模块的iterparse()方法读取一个巨大的(数千兆字节)XML文件。问题是在某些XML文件的文本中偶尔会出现Unicode错误(或者至少Python3认为是Unicode错误)。我的循环是这样设置的:importxml.etree.ElementTreeasetreedeffoo():#...f=open(filename,encoding='utf-8')xmlit=iter(etree.iterparse(f,events=('start','end')))(event,root)=next(xmlit)for(

.net - 使用 XmlSerializer 读取 UTF-16 编码的 XML 文件

我正在调用WebService并获取从WebMethod返回的字符串。该字符串是一个序列化为XML的对象,应使用System.Xml.XmlSerializer对其进行反序列化。我的问题是第一行表明文档是UTF-16编码的:所以当反序列化时,我得到错误:ThereisanerrorinXMLdocument(0,0).执行string.Replace("utf-16","utf-8")确实有效,但必须有一个干净的方法让XmlSerializer知道吗? 最佳答案 这不应该影响任何东西-以下工作正常:usingSystem;using

java - UTF-16 编码

JaniALOKAshuTosh我的XML解析器仅支持UTF-8编码,否则它会给出SAX解析器异常。如何将UTF-16转换为UTF-8? 最佳答案 在那种情况下,它不是您正在使用的XML解析器,请参阅section2.2ofthexmlspecification:AllXMLprocessorsMUSTaccepttheUTF-8andUTF-16encodingsofUnicodeJavaxml解析器通常接收包装在InputSource中的输入目的。这可以用一个Reader参数来构造,该参数对给定的字符集进行字符解码。InputS

java - Xml如何设置UTF-16编码格式?

我需要将xml创建为要传递给服务器的字符串。我已经设法将数据转换为xml,但编码格式默认设置为utf-8。我需要的是我想将它设置为utf-16格式。但我还没有设置它的任何想法。privatevoidXmlCreation(intsize,Listitem)throwsParserConfigurationException,TransformerException{DocumentBuilderFactorydocumentBuilderFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdocumentBuilder

xml - 如何安全地处理 Scala 中的 unicode 用户输入(尤其是 XML 实体)

在我的网站上,我有一个接受一些文本用户输入的表单。对于“普通”角色,一切都很好。然而,当输入unicode字符时……好吧,情节变浓了。用户输入类似やっぱ死にかけてる这作为包含XML实体引用的文本进入服务器やっぱ死にかけてる?现在,当我想用​​HTML将其返回给客户端时,我该怎么做?如果我只是按原样输出字符串,脚本攻击就有可能发生。如果我尝试使用scala.xml.Text对其进行编码,它会转换为:やっ&a

c# - XML Unicode 安全编码

我正在寻找一种使用#&233;编码XML文档的方法。编码。使用这个基本代码varxmlDoc=newXmlDocument();xmlDoc.Load(@"D:\Temp\XmlDocBase.xml");xmlDoc.Save(@"D:\Temp\XmlDocBaseCopy.xml");我的Xml文档来自:entité到entité问候 最佳答案 您可以强制编码不支持所有unicode字符(即ASCII)。结果作者将被迫使用实体。XmlDocumentdoc=newXmlDocument();doc.LoadXml("

java - Xerces UTF8Reader 中导致 MalformedByteSequenceException 的编码问题

我遇到了com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException使用XML文件。我使用调试器逐步执行Xerces代码,并缩小了发生这种情况的范围。我能够确定通过删除文档中的“智能引号”字符,文档变得可解析。文档没有DTD。Notepad++将其标记为“作为UTF-8的ANSI”。Firefox将其称为“西方”。我记得在大学里听过一次不太惊心动魄的讲座,UTF-8被设计为与单字节编码系统向后兼容。我也看到onthischart,字节序列e2809d事实上,代表“右双引号”,但即使我看不到编码问题,我

javax.xml.bind.Marshaller 编码 unicode 字符及其十进制值

我有一个服务需要生成xml。目前我正在使用jaxb和Marshaller使用StringWriter创建xml。这是我得到的当前输出。Bakeryé&虽然这对某些Web服务来说可能没问题,但我需要转义特殊的Unicode字符。使用我的xml的服务需要有这个:Bakeryé&如果我使用commons-lang中的StringEscapeUtils,我最终会得到类似下面的结果。这个也不起作用:Bakeryé&Marshaller是否有一些设置允许我将这些特殊字符编码为它们的十进制值? 最佳答案

xml - 竖线 (|) Unicode 替换

我们在其中一个模块中使用竖线|(|)字符作为字段分隔符。所以用户不应该在标题中使用这个字符。如果他们确实使用它,我想用类似的字符替换它。它有Unicode替代品吗?我找到的唯一一个看起来与它相似的字符是断开的竖线¦(¦)。 最佳答案 我不明白你真正需要什么。您是否需要将分隔符序列更改为保证不存在于数据集中的内容?如果是这样,那么Unicode的66个“非字符”代码点就是专门为此设计的。您可以将它们用作内部哨兵,因为它们不会出现在有效数据中。如果您只是在寻找视觉上的相似之处,那就大不相同了。我不建议这样做,因为有很多容易混淆的地方。这

java - 如何在 javax.xml.transform.Transformer.transform 的输出中保留输入声明的编码? (例如避免将 UTF-16 更改为 UTF-8)

假设这个输入XML编写这些代码行:StreamSourcesource=newStreamSource(newStringReader(/*theaboveXML*/));StringWriterstringWriter=newStringWriter();StreamResultstreamResult=newStreamResult(stringWriter);TransformerFactory.newInstance().newTransformer().transform(source,streamResult);returnstringWriter.getBuffer().