如何通过字符串连接创建可表示的十六进制int?

时间:2013-12-15 13:27:19

标签: python-3.x unicode

考虑:

>>> a = '\xe3'
>>> a
'ã'
>>> a.encode('cp1252')
b'\xe3'

如果用户输入字符串a,我想重新创建e3变量:

>>> from_user = 'e3'
>>> a = '\x' + from_user
  File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: end of string in escape sequence
>>> a = '\\x' + from_user
>>> a
'\\xe3'
>>> a.encode('cp1252')
b'\\xe3'

使用字符串from_user,我如何创建a变量,以便我可以像在第一个示例中那样使用它?

1 个答案:

答案 0 :(得分:1)

这应该会给你一个想法:

unichr(int('e3', 16)).encode('cp1252')