python 3怎样将字符串转成16进制格式的字节码

liming700 2017-12-27 07:02:39
请问在python3里面怎样将字符串0000转换成byte类型,我用bytes(x,enconding='utf-8')转换后是b'0000'这种格式,可以怎样将它转换成\x00\x00,?

谢谢!
...全文
1035 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
混沌鳄鱼 2017-12-27
  • 打赏
  • 举报
回复
本质上字节类型就是由 每个元素是0-255 整数组成的一个序列。 其中有些30-127是可打印字符字符,一个字节的数字就可以直接用一个字符表示出来的,就会用那个字符前面直接加个 b 表示是他的字节, 如,‘abc’ => b 'abc', '0000' => b'0000'。 超过可打印范围的,或由2个以上字节表示一个字符的就会用 b'\x##\x##\x##' 的形式表示了。

>>> bytes('中国', 'utf-8')
b'\xe4\xb8\xad\xe5\x9b\xbd'
>>> bytes('!@#!#!@', 'utf-8')
b'!@#!#!@'
>>> b = '0000'.encode('ascii')
>>> b.hex()
'30303030'
>>> b[0], b[1], b[2], b[3]
(48, 48, 48, 48)
>>> chr(129)
'\x81'
>>> chr(12)
'\x0c'
>>> from string import printable
>>> for c in printable: print(c, end='')

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 	

oyljerry 2017-12-27
  • 打赏
  • 举报
回复
In [6]: codecs.decode(b'0000','hex_codec') Out[6]: b'\x00\x00'

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧