如果一次遇到:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 这样的错误,然后到网上找找解决方案可以接受,如果多次遇到这样的问题,那就是自己的问题了。
web开发,数据从各处(如果不明确encode)收集到业务层(指明是utf8)处理,往往会有因各个源字符集不同导致处理失败的情况,就比如上面这个错误。
到网上一看,python字符集的处理大家一致感觉还是挺麻烦的,还是先来看看http://en.wikipedia.org/wiki/Ch...
by chaoxiangliu - Web开发 - 2011-12-23 03:36:43 阅读(1018) 回复(0)
>>import sys >>sys.getdefaultencoding() 'ascii' >>s = '中文' >>s '\xe4\xb8\xad\xe6\x96\x87' 说明:sys.getdefaultencoding()表明python的内部编码方式是ascii,我觉得ascii不可以存中文,但s='中文'没有报错,还转化为了UTF-8格式的'\xe4\xb8\xad\xe6\x96\x87',这事为什么阿?明白的请指点一下,多谢
在文档里有列出来所有的编码类型支持,但不知道通过什么函数或者数据能够得到,好像utf-8,utf8,utf_8都是能够被认识的。 如果我有一个字符串,想判断它是不是一种当前环境支持的字符集怎样做比较好?
小弟初学python,自行编写的程序有几处不明之处还望各位多多赐教: # -*- coding: cp936 -*- from re import * encodeTable=open('Shift-JIS-A.txt','rU') ectDict={} for eachLine in encodeTable: n=search('=',eachLine) if n is not None: tmp=split('=',eachLine) print tmp[1] ectDict[tmp[0]]=tmp[1] encodeTable.close() Shift-JIS-A.txt的数据结构(ANSI编码,部分): 829F=ぁ 82A0=あ...
windows下关于python处理字符集的问题 有个文件c:\1.txt,我想判断那些文件里是否包含汉字 ‘我’ s=open(r'c:\1.txt').read() t = '我' if t in s: print 'true:' else: print 'false:' 事实是无论这个文件是否包含‘我’,打印出来的结果都是false 我想知道的是 1.如何知道一个给定文件的字符集(因为不知道字符集就不能转码) 2.如何采取一个通用的方案处理这类问题(比如都转为utf-8) 3.如果程序中没...
本帖最后由 gdp8899 于 2013-07-11 00:14 编辑
python is是种很特殊的语法,你在其它的语言应该不会见到这样的用法,今天就来说说这个把。 python is 按照自字面的意思就是什么东西是什么的,比如he is a boy,他是一个大男孩,而我们一般在写python程序的时候,也会用到一些判断,有的时候也会用到python is,比如判断下这个字符是否为none。 下面是python is的例子,比如我们来判断下一个字符串。 a = 'abc' if a is not None: print 'a is not none' 输出的结果是 a is not ...