python 令人抓狂的编码问题

#运行以下程序:
#! /usr/bin/env python#coding=utf-8

file  = open( ‘all_hanzi.txt‘,‘wb‘ )

listhz = []n=0for ch in xrange(0x4e00, 0x9fa6):    print unichr(ch),    file.write( unichr(ch) )#此行出错。正确:file.write( unichr(ch).encode(‘gbk‘))  encode(‘gbk‘)将‘utf-8’编码的string编码为‘gbk’
    n = n+1    if(n%50==0):        print ‘\n‘        file.write(‘\n‘)

print n
#报错:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1: ordinal not in range(128)#代码参考:http://www.cnblogs.com/mmix2009/p/3229787.html   python打印所有汉字

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312‘),表示将gb2312编码的字符串str1转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312‘),表示将unicode编码的字符串str2转换成gb2312编码

参考:http://www.cnblogs.com/bluescorpio/p/3594359.html

  

时间: 2024-11-05 13:49:59

python 令人抓狂的编码问题的相关文章

网页设计中7个令人抓狂的错误

所有人都知道网页设计的重要性,糟糕的网页设计会给用户带来糟糕的体验,从而影响网页的流量,或是产品的销售.那么在设计网页的过程中,应该避免出现哪些错误呢? 1. 要求用户必须注册才能浏览网页内容 这种做法足以让用户立刻感到气愤不已.也许这样做能够让你获得一些注册用户,但是你失去的远比所得到的要多. 2. 忘记针对不同设备优化网页 要知道,现在很多用户都不再使用PC浏览网页了.因此在设计网页的时候,不要忘了针对智能手机.平板电脑等移动设备进行网页优化.你必须确保用户在任何设备上浏览你的网页时,都可以

令人抓狂的HashMap - 长敏的小站

判断键值对数组table[i]是否为空或为null,否则执行resize()进行扩容: 根据键值key计算hash值得到插入的数组索引i,如果table[i]==null,直接新建节点添加,转向6,如果table[i]不为空,转向3: 判断table[i]的首个元素是否和key一样,如果相同直接覆盖value,否则转向4,这里的相同指的是hashCode以及equals: 判断table[i] 是否为treeNode,即table[i] 是否是红黑树,如果是红黑树,则直接在树中插入键值对,否则转

令人抓狂的Python redis和rediscluster驱动包的安装

本文环境:centos 7,Python3编译安装成功,包括pip3,然后需要安装redis相关的Python3驱动包,本的redis指redis包而非redis数据库,rediscluster类似. 先理清楚几个概念1,redis包更准确地说是redis-py包,是Python连接Redis的驱动文件,如果下载原始文件的话,文件名称就是redis-py-***.tar.gz2,rediscluster 包更准确地说是redis-py-cluster包,是Python连接Redis Cluste

python写爬虫时的编码问题解决方案

在使用Python写爬虫的时候,常常会遇到各种令人抓狂的编码错误问题.下面给出一些简单的解决编码错误问题的思路,希望对大家有所帮助. 首先,打开你要爬取的网站,右击查看源码,查看它指定的编码是什么,如: <META http-equiv=Content-Type content="text/html; charset=gb2312"> 我这里指定的charset为gb2312,下面我都会用gb2312作为例子进行编码解码 提交输入 我们常常要获取输入,通过参数的形式提交请求

python 爬虫抓取心得

quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quote('要编码的字符串') query = urllib.quote(singername) url = 'http://music.baidu.com/search?key='+query response = urllib.urlopen(url) text = response.read()

python 爬虫抓取心得分享

/** author: insun title:python 爬虫抓取心得分享 blog:http://yxmhero1989.blog.163.com/blog/static/112157956201311821444664/ **/    0x1.urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quote('要编码的字符串') query = urllib.quote(singername) url = 'h

转载:用python爬虫抓站的一些技巧总结

原文链接:http://www.pythonclub.org/python-network-application/observer-spider 原文的名称虽然用了<用python爬虫抓站的一些技巧总结>但是,这些技巧不仅仅只有使用python的开发可以借鉴,我看到这篇文章的时候也在回忆自己做爬虫的过程中也用了这些方法,只是当时没有系统的总结而已,谨以此文为鉴,为以前的爬虫程序做一个总结. 转载原文如下: 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,

python爬虫抓网页的总结

python爬虫抓网页的总结 更多 python 爬虫 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写google music的抓取脚本的,结果有了强大的gmbox,也就不用写了. 这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这个半爬虫半网站的项目,累积不少爬虫抓站的经验,在此总结一下,那么以后做东西也就不

python 处理抓取网页乱码

python 处理抓取网页乱码问题一招鲜 相信用python的人一定在抓取网页时,被编码问题弄晕过一阵 前几天写了一个测试网页的小脚本,并查找是否包含指定的信息. 在html = urllib2.open(url).read()  时,打印到控制台始终出现乱码. 一般的解决办法就是html.decode('utf-8').encode('gb2312'),不过这个即使用了,也没能解决我的问题 这里有两个问题,第一个你要知道网页的编码格式是utf-8     第二你得确定你的系统是gb2312的,