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

chrord放在一起解释是有道理的。

你显然在使用Python2(因为八进制问题,Python3需要0o作为前缀),但我会解释两者。

在 Python2 中,chr 是一个函数,它接受任何整数到 256 returns 一个只包含扩展 ascii 字符的字符串。 unichr 是相同的,但 returns 一个 unicode 字符最多 0x10FFFFord 是反函数,它接受一个单字符字符串(任一类型)和 returns 一个整数。

在Python3中,chrreturns一个单字符的unicode字符串。字节字符串的等价物是 bytes([v])ord 仍然两者兼顾。