Python chr() 说明
Python chr() explain
所以我很确定这是一个愚蠢的问题,但我试图更深入地了解 python chr() 函数。
另外,我想知道是否可以始终将整数参数设置为三位数,或者所有 ascii 值的长度都是固定的?
chr(20) ## '\x14'
chr(020) ## '\x10'
为什么给我不同的答案?它认为“020”是十六进制还是什么?
另外,我 运行 Python 2.7 Windows!
-谢谢!
与char无关。这都是关于数字文字的。而且是跨语言的。 0 表示八进制,0x 表示十六进制。
print 010 # 8
print 0x10 # 16
把chr
和ord
放在一起解释是有道理的。
你显然在使用Python2(因为八进制问题,Python3需要0o
作为前缀),但我会解释两者。
在 Python2 中,chr
是一个函数,它接受任何整数到 256
returns 一个只包含扩展 ascii 字符的字符串。 unichr
是相同的,但 returns 一个 unicode 字符最多 0x10FFFF
。 ord
是反函数,它接受一个单字符字符串(任一类型)和 returns 一个整数。
在Python3中,chr
returns一个单字符的unicode字符串。字节字符串的等价物是 bytes([v])
。 ord
仍然两者兼顾。
所以我很确定这是一个愚蠢的问题,但我试图更深入地了解 python chr() 函数。 另外,我想知道是否可以始终将整数参数设置为三位数,或者所有 ascii 值的长度都是固定的?
chr(20) ## '\x14'
chr(020) ## '\x10'
为什么给我不同的答案?它认为“020”是十六进制还是什么? 另外,我 运行 Python 2.7 Windows! -谢谢!
与char无关。这都是关于数字文字的。而且是跨语言的。 0 表示八进制,0x 表示十六进制。
print 010 # 8
print 0x10 # 16
把chr
和ord
放在一起解释是有道理的。
你显然在使用Python2(因为八进制问题,Python3需要0o
作为前缀),但我会解释两者。
在 Python2 中,chr
是一个函数,它接受任何整数到 256
returns 一个只包含扩展 ascii 字符的字符串。 unichr
是相同的,但 returns 一个 unicode 字符最多 0x10FFFF
。 ord
是反函数,它接受一个单字符字符串(任一类型)和 returns 一个整数。
在Python3中,chr
returns一个单字符的unicode字符串。字节字符串的等价物是 bytes([v])
。 ord
仍然两者兼顾。