擅长:python、mysql、java
<p><code>U+NNNN</code>只是用于讨论Unicode的常用符号。Python对于单个Unicode字符的语法是:</p>
<ul>
<li><code>u'\xNN'</code>对于通过U+00FF的Unicode字符</li>
<li><code>u'\uNNNN'</code>对于通过U+FFFF的Unicode字符</li>
<li><code>u'\U00NNNNNN'</code>对于通过U+10FFFF的Unicode字符(最大值)</li>
</ul>
<p>注意:<code>N</code>是十六进制数字。</p>
<p>输入字符时使用正确的符号。您可以使用较长的符号,即使是低字符:</p>
<pre><code>u'A' == u'\x41' == u'\u0041' == u'\U00000041'
</code></pre>
<p>通过编程,您还可以使用<code>unichr(n)</code>(python2)或<code>chr(n)</code>(python3)生成正确的字符。</p>
<p>请注意,在Python3.3之前,有Python的Unicode版本。<code>unichr/chr</code>只能支持<code>sys.maxunicode</code>,窄版本中为65535(0xFFFF),宽版本为1114111(0x10FFFF)。python3.3统一了构建,并用Unicode解决了许多问题。</p>
<p>如果您正在处理<code>U+NNNN</code>格式的文本字符串,这里有一个正则表达式(python3)。它查找<code>U+</code>和4-6个十六进制数字,并将它们替换为<code>chr()</code>版本。请注意,ASCII字符(Python2)或可打印字符(Python3)将显示实际字符,而不是转义版本。</p>
^{pr2}$