擅长:python、mysql、java
<p>检查字符是否属于<a href="https://en.wikipedia.org/wiki/Private_Use_Areas" rel="nofollow noreferrer">private use area</a>的条件(<code>ord(i) > 57344</code>)不正确:</p>
<blockquote>
<p>Currently, three private use areas are defined: one in the Basic Multilingual Plane (<code>U+E000–U+F8FF</code>), and one each in, and nearly covering, planes 15 and 16 (<code>U+F0000–U+FFFFD</code>, <code>U+100000–U+10FFFD</code>)</p>
</blockquote>
<p>以下是修复的Python 3代码:</p>
<pre><code>pua_ranges = ( (0xE000, 0xF8FF), (0xF0000, 0xFFFFD), (0x100000, 0x10FFFD) )
def is_pua_codepoint(c):
return any(a <= c <= b for (a,b) in pua_ranges)
for line in open('test.txt', 'r'):
if any(is_pua_codepoint(ord(i)) for i in line):
pass
else:
print(line)
</code></pre>