gpt4 book ai didi

python - Python 中的 chr(128) .. chr(255) 有什么意义?

转载 作者:太空狗 更新时间:2023-10-29 21:37:06 28 4
gpt4 key购买 nike

编辑:我说的是 Python 2.7 中的行为。

chr函数将 0 到 127 之间的整数转换为 ASCII 字符。例如

>>> chr(65)
'A'

我明白这在某些情况下是如何有用的,我明白为什么它涵盖 0..127,即 7 位 ASCII 范围。

该函数还接受 128..255 的参数。对于这些数字,它只返回参数的十六进制表示。在此范围内,不同的字节表示不同的内容,具体取决于 ISO-8859 的哪一部分。使用标准。

如果 chr 我会理解采取了另一个论点,例如

>>> chr(228, encoding='iso-8859-1') # hypothetical
'ä'

但是,没有这样的选项:

chr(i) -> character

Return a string of one character with ordinal i; 0 <= i < 256.

我的问题是:提出 ValueError 有什么意义?对于 i > 255而不是 i > 127 ?所有功能都是为 128 <= i < 256 做的是返回十六进制值吗?

最佳答案

在 Python 2.x 中,str 是一个字节序列,因此 chr() 返回一个字节的字符串并接受 0-255 范围内的值,因为这是一个字节可以表示的范围。当您打印一个字节在 128-255 范围内的字符串的 repr() 时,该字符以转义格式打印,因为没有标准的方式来表示此类字符(ASCII 仅定义 0- 127).但是,您可以使用 unicode() 将其转换为 Unicode,并指定源编码:

unicode(chr(200), encoding="latin1")

在 Python 3.x 中,str 是一个 Unicode 字符序列,而 chr() 的范围更大。字节由 bytes 类型处理。

关于python - Python 中的 chr(128) .. chr(255) 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27029241/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com