所以我很确定这是一个愚蠢的问题,但我试图更深入地了解python chr()函数。 另外,我想知道是否有可能总是将三位数的整数参数,或者只是所有ascii值的固定长度?
chr(20) ## '\x14'
chr(020) ## '\x10'
为什么它会给我不同的答案?它是否认为' 020'是十六进制还是什么? 另外,我在Windows上运行Python 2.7! -Thanks!
答案 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字符串。字节字符串的等价物是chr
。 bytes([v])
仍然可以做到这两点。