擅长:python、mysql、java
<p>如果将字符串创建为unicode对象,它应该能够一次自动断开一个字符。E、 g.:</p>
<p><strong>Python2.6:</strong></p>
<pre><code>s = u"abc\u20ac\U00010302\U0010fffd" # note u in front!
for c in s:
print "U+%04x" % ord(c)
</code></pre>
<p>我收到了:</p>
^{pr2}$
<p><strong>Python3.2:</strong></p>
<pre><code>s = "abc\u20ac\U00010302\U0010fffd"
for c in s:
print ("U+%04x" % ord(c))
</code></pre>
<p>它对我有用:</p>
^{pr2}$
<p>另外,我发现了<a href="https://stackoverflow.com/questions/6974510/iterate-through-unicode-strings-and-compare-with-unicode-in-python-dictionary/6974799#6974799">this link</a>,它解释了行为是正确工作的。如果字符串来自文件等,则可能需要先对其进行解码。在</p>
<p><strong>更新</strong>:</p>
<p>我发现了一个很有见地的<a href="https://stackoverflow.com/questions/22149/unicode-vs-utf-8-confusion-in-python-django/522827#522827">explanation here</a>。内部Unicode表示大小是一个编译时选项,如果在16位平面之外使用“宽”字符,则需要自己构建python来消除限制,或者使用本页中的一种解决方法。显然,正如我在上面遇到的那样,许多Linux发行版已经为您做了这项工作。在</p>