Python chr()解释

时间:2015-01-28 03:28:16

标签: python windows ascii chr

所以我很确定这是一个愚蠢的问题,但我试图更深入地了解python chr()函数。 另外,我想知道是否有可能总是将三位数的整数参数,或者只是所有ascii值的固定长度?

chr(20) ## '\x14'
chr(020) ## '\x10'

为什么它会给我不同的答案?它是否认为' 020'是十六进制还是什么? 另外,我在Windows上运行Python 2.7! -Thanks!

2 个答案:

答案 0 :(得分:1)

与char无关。这完全是关于数字文字。它是跨语言的。 0表示oct,0x表示hex。

print 010 # 8
print 0x10 # 16

答案 1 :(得分:0)

一起解释Result: 12.00 - 16.00 4.00 - 9.00 5.00 - 9.00 13.00 - 20.00 chr是有意义的。

你显然使用Python2(因为八进制问题,Python3需要ord作为前缀),但我会解释它们。

在Python2中,0o是一个函数,它取任何整数到chr的函数返回一个只包含extended-ascii字符的字符串。 256是相同的,但返回一个最多unichr的unicode字符。 0x10FFFF是反函数,它采用单字符串(任一类型)并返回一个整数。

在Python3中,ord返回单字符unicode字符串。字节字符串的等价物是chrbytes([v])仍然可以做到这两点。