>>> x = "\x55\x89\xe5\xb9\x00\x00\x00\x00\xb8\xc0\xa0\x04\x08\x31\xdb\x31\xd2\x8a\x1c\x08\x01\xda\x41\x83\xf9\x72\x75\xf5\x81\xfa\x71\x71\x00\x00\x74\x22\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9\x7a\xa0\x04\x08\xba\x0a\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9\x70\xa0\x04\x08\xba\x09\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80\x5d\xc3"
>>> x
'U\x89\xe5\xb9\x00\x00\x00\x00\xb8\xc0\xa0\x04\x081\xdb1\xd2\x8a\x1c\x08\x01\xdaA\x83\xf9ru\xf5\x81\xfaqq\x00\x00t"\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9z\xa0\x04\x08\xba\n\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9p\xa0\x04\x08\xba\t\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80]\xc3'
有什么方法可以让解释器完全按照我输入的内容打印出 x 吗?即它应该以 \x55
开头,而不是 U
。
最佳答案
是的,在引号前添加r
:
x = r"\x55\x89\xe5\xb9\x00\x00\x00\x00\xb8\xc0\xa0\x04\x08\x31\xdb\x31\xd2\x8a\x1c\x08\x01\xda\x41\x83\xf9\x72\x75\xf5\x81\xfa\x71\x71\x00\x00\x74\x22\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9\x7a\xa0\x04\x08\xba\x0a\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9\x70\xa0\x04\x08\xba\x09\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80\x5d\xc3"
print x
输出
\x55\x89\xe5\xb9\x00\x00\x00\x00\xb8\xc0\xa0\x04\x08\x31\xdb\x31\xd2\x8a\x1c\x08\x01\xda\x41\x83\xf9\x72\x75\xf5\x81\xfa\x71\x71\x00\x00\x74\x22\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9\x7a\xa0\x04\x08\xba\x0a\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80\xb8\x04\x00\x00\x00\xbb\x01\x00\x00\x00\xb9\x70\xa0\x04\x08\xba\x09\x00\x00\x00\xcd\x80\xb8\x01\x00\x00\x00\xbb\x00\x00\x00\x00\xcd\x80\x5d\xc3
关于纯十六进制形式的 Python 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25008743/