挑战是采用字符串格式的十六进制值"FF"
并将其转换为等效的十进制值。
我知道使用字符串格式"\xFF"
,这就像ord("\xFF")
.
但是,我想解析一个没有 \x 标记的十六进制字符串,即"01 02 03 04"
.
我的方法是尝试以格式格式化后面的字符串"\xFF"
,执行以下操作:
input = "01 02 03 04"
s = ""
s += "\x" + input[0:2]
但是,任何将"\"
, "\x"
, 甚至"\x0"
字符放入字符串的尝试,我都会收到以下错误:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \xXX escape
由于字符串是不可变的,因此我无法创建具有完整“\xFF”格式的字符串,然后在事后更改值。有没有人有提示可以克服这个问题?
在此先感谢...我希望我的要求是有道理的!