Python将字符串转换为以空终止的字节字符串

我正在尝试将python字符串转换为以null结尾的字节字符串。我不需要在我的python程序中使用此字符串,但是我需要使用此格式的字符串,并在其他地方使用此输出。

但是,例如,基本上,我想以某种方式将字符串"cat"转换为"\x63\x61\x74"

到目前为止,我还没有找到合适的解决方案。


我有一个可能的解决方案,但我想知道是否有更好的方法可以做到这一点。这只是将十六进制值放在列表中。不是上面的确切格式,而是类似的结果。

text = "asjknlkjsndfskjn"
hexlist = []

for i in range(0,len(str)):
    hexlist.append(hex(ord(str[i:i+1])))

print(hexlist)
dezhaochao 回答:Python将字符串转换为以空终止的字节字符串

您尝试过吗?

>>> bytes('cat','ascii')
b'cat'

对于空终止,只需添加NUL:

>>> bytes('cat','ascii') + b'\x00'
b'cat\x00'

编辑:要将十六进制表示形式存储在字符串中,您可以执行以下操作:

>>> ''.join(['\\'+hex(b)[1:] for b in bytes('cat','ascii')])
'\\x63\\x61\\x74'
>>> print(_)
\x63\x61\x74
本文链接:https://www.f2er.com/3112823.html

大家都在问