我对以下一些数字表示感到困惑:
a = 0xff
#十六进制数
a = 'ff'
#ASPF ff
a = '\xff'
#这是什么?
a = b'ff'
#这是什么?
如何将这些类型相互转换?
即,1-> 2,2-> 1,1-> 3,3->等
答案 0 :(得分:2)
1 是一个数字,
2 是一个包含两个字符'f'的字符串,
3 是一个包含单个字符的字符串
4 在python2中等于 2 ,但在python3中则不等。
1←→3 :
In [440]: chr(0xff)
Out[440]: '\xff'
In [441]: ord('\xff')
Out[441]: 255
4←→2:
#python2:
In [444]: b'ff'=='ff'
Out[444]: True
#python3: ('bytes' is a builtin type different from 'str' in py3)
In [2]: type(b'ff')
Out[2]: builtins.bytes
In [3]: b'ff'=='ff'
Out[3]: False
<强>更新强>
1←→2:
In [455]: hex(a)[2:]
Out[455]: 'ff'
3←→2: 3-> 1&gt; 2,亲自动手;)