擅长:python、mysql、java
<pre><code>\u010000
</code></pre>
<p>Python<code>\u</code>转义符只有四位数字,因此U+0100后跟两个U+0030位零。对BMP之外的字符使用大写U转义符和八位数字:</p>
^{pr2}$
<p>请注意,在Python的“窄构建”中,这个和您的表达式一般不起作用,在Python中,字符串基于UTF-16代码单元,BMP之外的字符作为两个代理代码单元处理。(窄版本是Windows的默认版本。谢天谢地,他们放弃了python3.3。)</p>
<blockquote>
<p>it could easily contain characters supported in 1.1 and later</p>
</blockquote>
<p>(尽管XML1.1只能在这些字符被编码为数字字符引用<code>&#...;</code>时包含这些字符,因此文件本身可能仍然不是格式良好的。)</p>
<blockquote>
<p>open(chunkfile, 'r')</p>
</blockquote>
<p>您确定chunkfile是用<code>locale.getpreferredencoding</code>编码的吗?在</p>
<blockquote>
<p>The original file's typically larger than 4GB, hence the need to 'chunk' it.</p>
</blockquote>
<p>呃,怪物XML很痛苦。但是使用合理的流式API(和文件系统!)应该还是可以处理的。例如,您可以使用<code>for line in chunk:</code>一次处理每一行,而不是使用<code>readlines()</code>同时读取所有块。在</p>
<blockquote>
<p>re.search(invalidCharacters, line)</p>
</blockquote>
<p>由于<code>invalidCharacters</code>已经是一个编译的模式对象,所以您可以<code>invalidCharacters.search(...)</code>。在</p>
<p>说了这么多,对我来说它仍然符合U+0007的铃声。在</p>