我有这样的十六进制字符串:
s = "\x08\x00\x00\x00\x00\x00\x00\xefn\x15\x01\x00\x00\x00\x00\x10\x02l\t\xa0\x00\xf2\x00\x00\x00\xf2\x00"
我想得到一个单独值的列表,比如
['\x08', '\x00', etc]
或{
我尝试s.split()
该字符串失败
s.split('\x')
产生{
s.split('\\x')
导致
['\x08\x00\x00\x00\x00\x00\x00\xefn\x15\x01\x00\x00\x00\x00\x10\x02l\t\xa0\x00\xf2\x00\x00\x00\xf2\x00']
任何试图遍历字符串并将每个“字符”转换为int或str以外的任何内容(这将导致大多数为“空”字符)的尝试都失败,并出现错误。有人能提出一种获得预期结果的方法吗?在
每个
\xhh
项在字符串中是一个字节。在Python正在显示一个string表示法,这是一种字符串文字表示法,可以安全地复制并粘贴到任何ASCII上下文中以重建相同的值。在
因此,任何非ASCII码位都由转义序列表示,其中绝大多数由
\xhh
十六进制转义符表示。例如,您会注意到制表符使用\t
转义序列。字符串中没有实际的\
或x
字符,因此您也不能在'\\x'
上拆分。在只需将字符串传递给
list()
,就可以将其转换为单个字符的列表:相关问题 更多 >
编程相关推荐