如果我输入的数字大于1114111,是否有人知道chr
函数引发错误的特定原因?
EG:
>>> chr(1114111)
'\U0010ffff'
>>> chr(1114112)
回溯(最近通话最近): 文件“”,第1行,位于 hr(1114112) ValueError:chr()arg不在范围内(0x110000)
答案 0 :(得分:2)
是的,有 个具体原因。这是因为这是Unicode代码空间中的最高代码点。根据当前标准(12.0),1.3 Text handling
下的Text elements
部分:
编码后的字符由
0
至10ffff16
之间的数字表示,称为代码点。
答案 1 :(得分:1)
数字必须在一定范围内才能有效,所以不,它不会接受大于或等于0x110000的数字,因为那是不在Unicode代码空间中的最小正整数。>