我的编码错误
ki = raw_input("Enter Initial Key in HEX 20 bit :")
IV = raw_input("Enter Initial vector in HEX 16 bit :")
for i in xrange(0,20,2):
if(ki[i]>='0' and ki[i]<='9'):
ie=ki[i]-'0'
elif (ki[i]>='a' and ki[i]<='f'):
ie=ki[i]-'a'+10
elif (ki[i]>='A' and ki[i]<='F'):
ie=ki[i]-'A'+10
此错误
Traceback(最近一次调用最后一次):文件 &#34; C:/Users/MrX/PycharmProjects/grain/grain.py" ;,第16行,在 即=き[Ⅰ] - &#39; 0&#39 ;; TypeError:不支持的操作数类型 - :&#39; str&#39;和 &#39; STR&#39;
我希望你能帮助我解决它。感谢
答案 0 :(得分:0)
您在字符串上调用-
操作数:
ie = ki[i] - 'a' + 10
我认为你认为Python中的简单引号引用了字符的ASCII值。但是,在Python中,简单的引号和双引号是完全等价的,它们都代表字符串。
你想要的是ord
功能:
>>> ord('a')
97