How to handle Unicode (non-ASCII) characters in Python?
我正在用python编程,通过
1 2 3 4 | File"c:\Python25\lib\httplib.py", line 711, in send self.sock.sendall(str) File"<string>", line 1, in sendall: UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 74: ordinal not in range(128) |
我需要处理这些角色。我的意思是,我不想处理这个异常,而是继续这个程序。有没有办法,例如(我不知道这是否愚蠢),使用另一个编解码器而不是ASCII?因为我必须处理这些字符,将它们插入数据库等。
您只是从套接字读取一组字节。如果需要字符串,则必须对其进行解码:
1 | yourstring = receivedbytes.decode("utf-8") |
(用您使用的任何编码替换
然后你必须做相反的操作,把它送回:
1 | outbytes = yourstring.encode("utf-8") |
如果可以的话,您希望在所有工作中使用Unicode。
您可能会发现这个问题/答案很有用:
URLLIB2读取到Unicode
您可能希望使用实际的解析库来查找此信息。例如,