UTF-8字符串作为字典中的键导致KeyError

时间:2016-04-13 18:54:14

标签: python dictionary unicode utf-8 python-unicode

我有一个字典,其中包含unicode字符串作为键。当我尝试访问该值时,我得到了键错误,即使字典和我的键中键的打印输出相等:

return2=125

似乎它们的编码方式不同,不知何故。从实验开始,似乎字典中的键被编码为八进制字节(?)http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=xc3+xa5&mode=obytes,而我尝试访问该值的键被编码为十六进制(?)http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=xe5&mode=hex

字典中的密钥是从网络资源中提取的,所以我猜想在路上搞砸了。

1 个答案:

答案 0 :(得分:5)

<cfftp action = "getFile" server="ftp.cetip.com.br" remotefile="/MediaCDI/20160412.txt" localfile="#Session.wwwrootPath#Temp\cdi.txt"> 是一个字符串,<cfftp connection="Myftp" server="ftp.cetip.com.br" username = "anonymous" password="name@email.com" <!--- valid email ---> action="Open" stoponerror="Yes" secure="no"> <p>Did it succeed? <cfoutput>#cfftp.succeeded#</cfoutput><br /> <cfflush> <cfftp connection="Myftp" action="changedir" directory="MediaCDI"> changed<br /> <cfflush> <cfftp connection="Myftp" action="getFile" remoteFile="20160412.txt" localfile="#Session.wwwrootPath#Temp\teste.txt" timeout="3000"> done!!<br /> <cfflush> unicode字符串。查看前面的test

你应该使用Python 3,其中所有字符串都是unicode字符串,或者在字典中查找之前确保将test转换为unicode。