Python3 将用户输入字符串解释为原始字节(例如 \x41 == "A")

Python3 interpret user input string as raw bytes (e.g. \x41 == "A")

来自 Python3 命令提示符的示例代码:

1 | >>> var_abc = "\x41\x42\x43"
2 | >>> print(var_abc)
3 | ABC
4 | >>> print(bytes(var_abc, encoding='ascii'))
5 | b'ABC'

6 | >>> user_input_abc = input('enter user input in bytes: ')
7 | enter user input in bytes: \x41\x42\x43
8 | >>> print(user_input_abc)
9 | \x41\x42\x43
10| >>> print(bytes(user_input_abc, encoding='ascii'))
11| b'\x41\x42\x43'

将用户输入的字符串解释为原始字节。您可以对字符串进行编码,然后使用 "unicode_escape" encoding 解码这些字节,然后再次对该字符串进行编码以获取字节对象

user_input_abc = '\x41\x42\x43'
print(user_input_abc) # \x41\x42\x43
user_input_escaped = user_input_abc.encode().decode('unicode_escape')
print(user_input_escaped) # 'ABC'
user_input_bytes = user_input_escaped.encode()
print(user_input_bytes) # b'ABC'