将10转换为字节,奇怪的结果

时间:2017-03-20 09:28:14

标签: python python-3.x

i = 11
print(i.to_bytes(1,'big'))

B' \ X0B'

i = 10
print(i.to_bytes(1,'big'))

B' \ n'

应该是b' \ x0a'

为什么我得到b' \ n'?

1 个答案:

答案 0 :(得分:2)

好吧,正如凯尔伍德在评论中所解释的那样,大致在同一时间,这是交易:

由于newline字符具有“c样式速记”,即\n,并且数值为0x0a或十进制10,因此这些表示是等效的。只有Python决定向您展示传统的转义序列。

公平地说,字符11或0x0b是垂直制表符,所以它可以表示为\v,但显然Python不会那样做。

有关详细信息,请参阅https://en.wikipedia.org/wiki/Control_character#In_ASCIIhttp://www.asciitable.com/