当前位置: 首页 > news >正文

珠海网站排名提升以遇见为主题做网站

珠海网站排名提升,以遇见为主题做网站,广州中小企业网站建设,中文域名有价值吗怎么避免UnicodeEncodeError: ‘ascii’ codec can’t…类似的错误#xff1f; 1、首先在py文件头部指定文件内容编码#xff0c;例如#xff1a;# coding: utf8 2、文件保存的时候要和py文件头部编码一致 3、在用decode和encode的时候#xff0c;一定要确认要转换的字符原… 怎么避免UnicodeEncodeError: ‘ascii’ codec can’t…类似的错误 1、首先在py文件头部指定文件内容编码例如# coding: utf8 2、文件保存的时候要和py文件头部编码一致 3、在用decode和encode的时候一定要确认要转换的字符原编码是什么。 例如网页中都会指定编码(meta http-equivcontent-type content”text/html; charsetgb2312″), 你在抓取这个网站并获取它的html后进行编码转化就要注意了: import urllib2 html urllib2.urlopen(url) html html.decode(‘gb2312′) 只要做上面三个就不会出现转换编码错误了 python建议在python代码中最好所有变量都是unicode;     流程可以这么写 变量(转换成unicode)——python代码——–变量(转换成其他编码) sys.getdefaultencoding():系统的缺省编码(一般就是ascii),python默认语言的编码是ascii编码, 这就是为什么在py文件的头部都要指定编码了# coding:utf-8 Python获取系统编码参数的几个函数 系统的缺省编码(一般就是ascii)sys.getdefaultencoding()  系统当前的编码locale.getdefaultlocale()  系统代码中临时被更改的编码通过locale.setlocale(locale.LC_ALL,“zh_CN.UTF-8″)locale.getlocale()  文件系统的编码sys.getfilesystemencoding()  终端的输入编码sys.stdin.encoding  终端的输出编码sys.stdout.encoding  代码的缺省编码文件头上# -*- coding: utf-8 –*- 来源http://justpy.com/archives/144 (二) 更多 http://www.cnblogs.com/itrust/archive/2010/05/14/1735185.html 字符串 python有两种字符串 1 2 byteString  hello world! (in my default locale) unicodeString  uhello Unicode world! 相互转换 1 2 3 4 1 s  hello normal string 2 u  unicode( s, utf-8 ) 3 backToBytes  u.encode( utf-8 ) 3 backToUtf8  backToBytes.decode(‘utf-8’) #与第二行效果相同 如何判断 1 2 3 if isinstance( s, str ): # 对Unicode strings这个判断结果为False if isinstance( s, unicode): # 对Unicode strings这个判断结果为True if isinstance( s, basestring ): # 对两种字符串返回都为True 做个试验 1 2 3 4 5 6 import sys print default encoding:  , sys.getdefaultencoding() print file system encoding:  , sys.getfilesystemencoding() print stdout encoding:  , sys.stdout.encoding print uu中文 is unicode: , isinstance(u中文,unicode) print u中文 is unicode: , isinstance(中文,unicode) 看输出结果注意下列事实 python系统缺省的编码格式为ASCII这个缺省编码在Python转换字符串时用的到这里给两个例子 1. a abc ubcd, Python会如此转换abc.decode(sys.getdefaultencoding()) 然后将两个Unicode字符合并。 2. print unicode(中文) , 这句话执行会出错“UnicodeDecodeError: ascii codec cant decode byte 0xe4 …”是因为Python试图用缺省编码来编码而这个字符串不是ASCII因此需要显示的指出如果你的文件源类型为utf-8则应如此print unicode(中文,utf-8’) Windows下getfilesystemencoding输出mbcs多字节编码windows的mbcs也就是ansi它会在不同语言的windows中使用不同的编码在中文的windows中就是gb系列的编码) Windows下控制台编码为cp936, 当你打印东西到控制台时Python自动做了转换。这里会引发一个有趣的问题, 试一下这个简单的例子test.py 1 2 3 # -*- coding: utf-8 -*- s  u中文 print s 在控制台中分别运行 python test.py 和 python test.py 1.txt 你会发现后者会报错原因是打印控制台时Python会自动转换编码到sys.stdout.encoding, 而输出到文件时Python不会自动在write调用中进行内部字符转换。这个问题在PrintFails中有较详细的说明。 UTF-8编码格式 保存utf-8格式的文件 1 2 3 import codecs fileObj  codecs.open( someFile, r, utf-8 ) u  fileObj.read() # Returns a Unicode string from the UTF-8 bytes in the file 自己写BOM头 1 2 3 4 out  file( someFile, w ) out.write( codecs.BOM_UTF8 ) out.write( unicodeString.encode( utf-8 ) ) out.close() 自己去掉BOM头 对UTF-16, Python将BOM解码为空字串。然而对UTF-8, BOM被解码为一个字符如例 1234 codecs.BOM_UTF16.decode( utf16 ) u codecs.BOM_UTF8.decode( utf8 ) u\ufeff 不知道为什么会这样不同因此你需要在读文件时自己去掉BOM 1 2 3 4 5 6 7 8 9 10 11 import codecs if s.beginswith( codecs.BOM_UTF8 ):     # The byte string s begins with the BOM: Do something.     # For example, decode the string as UTF-8       if u[0] unicode( codecs.BOM_UTF8, utf8 ):     # The unicode string begins with the BOM: Do something.     # For example, remove the character. # Strip the BOM from the beginning of the Unicode string, if it exists u.lstrip( unicode( codecs.BOM_UTF8, utf8 ) ) 源码文件的编码 关于Python对代码文件的编码处理PEP0263 讲的很清楚现摘录如下 python缺省认为文件为ASCII编码。 可在代码头一行或二行加入声明文件编码申明通知python该文件的编码格式如 # -*- coding: utf-8 –*-   # 注意使用的编辑器确保文件保存时使用了该编码格式 对于Windows这样的平台它使用了BOM文件头三个字节 \xef\xbb\xbf来申明文件为utf-8编码这种情况下 如果文件中没有编码申明python以utf8处理如果有编码申明但不是utf-8, python报错 另外关于BOM (三) 某些软件如notepad在保存一个以UTF-8编码的文件时会在文件开始的地方插入三个不可见的字符0xEF 0xBB 0xBF即BOM。  因此我们在读取时需要自己去掉这些字符python中的codecs module定义了这个常量  1 2 3 4 5 6 # codinggbk import codecs data  open(Test.txt).read() if data[:3]  codecs.BOM_UTF8:  data  data[3:] print data.decode(utf-8)
http://www.huolong8.cn/news/116794/

相关文章:

  • 珠宝网站模板潍坊高端网站建设公司
  • asp网站后台下载网络专题策划书模板
  • 网站开发商标属于哪一类深圳市城乡住房和建设局网站首页
  • 网站建设公司douyanet手表商城网站建设
  • 唐山快速建站的公司阿里云做网站预装环境
  • 自己做的网站网页错位建设公共资源交易中心网站
  • 大连金普新区规划建设局网站wordpress漂浮插件
  • 做网站用什么编程网站建设需要哪些必备文件
  • 青岛做网站排名wordpress设置个人头像
  • 温州网站建设外包如何做网站么
  • 广东建设工程网站wordpress搭建论坛教程
  • 郑州新一网站建设企信网查询
  • 建站公司还有前途吗网站开发 软件有哪些
  • 百度竞价网站源码中国icp备案网站
  • 怎样给网站增加栏目中铁中基建设集团网站
  • 武清网站建设wordpress友情链接页面插件
  • 志迅东莞网站建设店面门面设计
  • 用h5做简易网站代码网站内部数据搜索怎么做
  • 用ps做租房网站里的图标大小wordpress整合phpwind.
  • 为企网站wordpress调用id数据
  • 网站正在建设中 色行业网站渠道选择和内容运营
  • 佛山网站建设专业网页制作专业个人职业生涯规划书
  • 网建网站重庆网站推广系统
  • 专门做瑜伽的网站网站建设教程小说简介
  • 物流营销型网站案例分析网站打不开怎么处理
  • html 路径 网站根路径建筑网论坛
  • 徐州市建设局交易网站网络营销技巧培训
  • 网站上线过程如何申请企业邮箱流程
  • 网站你应该明白我的意思吗舟山网站建设费用
  • 17网站一起做网店白沟用织梦做网站能练技术吗