我已经玩了一段时间的Python 2.7,现在我正在努力制作自己的加密/解密算法。 我试图让它支持非Ascii字符。 所以这是词典的一部分:
... u'\xe6': '1101100', 'i': '0001000', u'\xea': '1100001', 'm': '0001100', u'\xee': '1100111', 'q': '0010000', 'u': '0010100', u'\xf6': '1110010', 'y': '0011000', '}': '1001111'}
但是当我尝试将“é”转换成binairy时,做
base64 = encrypt[i]
其中,encrypt是dic的名称,i = u“é”
我收到此错误:
警告(来自警告模块): 文件“D:\ DeskTop 2 \ Programs \ Projects \ 4.py”,第174行 base64 =加密[i] UnicodeWarning:Unicode等同比较无法将两个参数都转换为Unicode - 将它们解释为不等等
追踪(最近一次通话): 文件“D:\ DeskTop 2 \ Programs \ Projects \ 4.py”,第197行,in 主要() 在主文件中输入文件“D:\ DeskTop 2 \ Programs \ Projects \ 4.py”,第196行 解密(密钥,加密,解密) 文件“D:\ DeskTop 2 \ Programs \ Projects \ 4.py”,第174行,解密 base64 =加密[i] KeyError:'\ xf1'
另外,我确实以
开头# -*- coding: utf-8-*-
答案 0 :(得分:0)
好的,抱歉无用的帖子。 我发现了修复。基本上,我做了:
for i in user_input:
base64 = encrypt[i]
但我会像\ 0xe
我添加了
j = i.decode("latin-1")
所以j = u" \ 0xe" 现在它起作用了:D