【问题标题】:Is there any specific reason why the chr function won't accept a higher answer? [duplicate]chr 函数不接受更高的答案有什么具体原因吗? [复制]
【发布时间】:2019-12-31 10:50:45
【问题描述】:

如果我输入一个大于 1114111 的数字,是否有特定原因导致 chr 函数抛出错误? 例如:

>>> chr(1114111)
'\U0010ffff'
>>> chr(1114112)

Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 chr(1114112) ValueError: chr() arg 不在范围内(0x110000)

【问题讨论】:

    标签: python unicode ascii built-in chr


    【解决方案1】:

    是的,一个特定的原因。这是因为这是 Unicode 代码空间中的最高代码点。从当前标准(12.0),1.3 Text handling 部分,Text elements 下:

    编码字符由从010ffff<sub>16</sub> 的数字表示,称为代码点。

    【讨论】:

    • 谢谢!这解决了我的问题。
    【解决方案2】:

    数字必须在一定范围内才能有效,所以不,它不会接受大于或等于 0x110000 的数字,因为这是不在 unicode 代码空间中的最小正整数。

    【讨论】:

      猜你喜欢
      • 2012-01-31
      • 1970-01-01
      • 2022-08-18
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      相关资源
      最近更新 更多