当我到达代码中的以下行时,收到以下错误:
inputString = "{:02x}".format(inputNumber)
ValueError:类型'str'的对象的未知格式代码'x'
如何避免这种情况?
格式字符串代码x
将整数转换为字符串的十六进制表示形式。例如:
>>> "{:02x}".format(54563)
'd523'
当您将字符串作为inputNumber
传递时,将发生错误。传递给intToList
函数的参数应为整数。考虑使用intToList(int(your_argument_here))
。
似乎您正在尝试将字符串转换为十六进制。不幸的是,这并不是解决问题的方法:"{:02x}".format
用于格式化单个整数,因此不适用于整个字符串。
Python 3包含方法bytes.hex()
,该方法为您执行此转换,但是您将需要一个字节字符串而不是普通字符串。您可以使用字符串编码从str转换为字节。
如果您想自己进行转换,则可以对字符串中每个字符的字符代码调用"{:02x}".format
,并将各个十六进制值连接在一起。在这种情况下,请小心使用Unicode。您最好使用字节字符串。