Eve*_*lse 4 python string hex ascii python-2.x
我有绳子x = '0x32',想把它变成y = '\x32'。
请注意len(x) == 4和len(y) == 1。
我尝试使用z = x.replace("0", "\\"),但这会导致z = '\\x32'和len(z) == 4。我该如何实现?
您不必那么费劲:您可以使用int(..,16)解析形式为的十六进制字符串0x...。接下来,您只需使用chr(..)该代码即可将该数字转换为具有Unicode的字符(并且如果代码小于128 ASCII):
y = chr(int(x,16))
Run Code Online (Sandbox Code Playgroud)
结果是:
>>> chr(int(x,16))
'2'
Run Code Online (Sandbox Code Playgroud)
但是\x32等于'2'(您可以在ASCII表中查找):
>>> chr(int(x,16)) == '\x32'
True
Run Code Online (Sandbox Code Playgroud)
和:
>>> len(chr(int(x,16)))
1
Run Code Online (Sandbox Code Playgroud)