Rc4解密ValueError:类型'str'的对象的未知格式代码'x'

问题描述 投票:0回答:2

当我到达代码中的以下行时,收到以下错误:

inputString = "{:02x}".format(inputNumber)

ValueError:类型'str'的对象的未知格式代码'x'

如何避免这种情况?

My Full Code

python python-3.x string hex string-formatting
2个回答
0
投票

格式字符串代码x将整数转换为字符串的十六进制表示形式。例如:

>>> "{:02x}".format(54563)
'd523'

当您将字符串作为inputNumber传递时,将发生错误。传递给intToList函数的参数应为整数。考虑使用intToList(int(your_argument_here))


0
投票

似乎您正在尝试将字符串转换为十六进制。不幸的是,这并不是解决问题的方法:"{:02x}".format用于格式化单个整数,因此不适用于整个字符串。

Python 3包含方法bytes.hex(),该方法为您执行此转换,但是您将需要一个字节字符串而不是普通字符串。您可以使用字符串编码从str转换为字节。

如果您想自己进行转换,则可以对字符串中每个字符的字符代码调用"{:02x}".format,并将各个十六进制值连接在一起。在这种情况下,请小心使用Unicode。您最好使用字节字符串。

© www.soinside.com 2019 - 2024. All rights reserved.