易截截图软件、单文件、免安装、纯绿色、仅160KB

Python中的编码


python中的编码
原文:http://users.ir-lab.org/~liulong/blog/archives/001962.html
计算机以0,1二进制位来存储信息,所以字符在计算机中的表示也是二进制位,那每个字符所对应的二进制位是什么,在开始的计算机中因为只考虑英语, 所以不超过256个字符,即用一个字节(8bit)就足可以表示所有的字符,这个对应关系就是对字符的编码,用一个唯一的字节码来表示唯一的字符.但是随 着要对汉字,日语等其他语言的处理,这样的编码满足不了需求,各个地区,国家就针对各自的语言建立了自己的一套编码,比如gb2312,gbk,等 等....这样是解决了一部分问题,但是这就给不同的系统,平台之间的交互造成了很大的障碍,为了解决此问题,出现了unicode,它为每种语言中的每 个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本基准转换、处理的要求。每个字符都用若干个字节来表示,这样就解决了平台,系统之间 的交互问题,但是unicode有个缺点,因为它每个字符都用若干字节来表示,即使是单字节的字符,这就造成了时间和空间上的浪费,因此出现了utf,是 中间转换编码,有utf8,utf16,utf7等.出现了多种编码之后,在不同的系统,平台之间或程序接口中要涉及到编码的转换,常见的转换有:
1.unicode->其它编码
例如:a为unicode编码 要转为gb2312:a.encode('gb2312')
2.其它编码->unicode
例如:a为gb2312编码,要转为unicode: unicode(a, 'gb2312')或a.decode('gb2312')
3,编码1 -> 编码2
先转为unicode再转为编码2
如gb2312转utf8
unicode(a, 'gb2312').encode(utf-8)
目前为止我不知道如何判断一个字符的编码是何种编码,只是从程序中抛异常,等其他方式来判断,但是有可以判断是否是unicode的方法:
isinstance(s, str) 用来判断是否为一般字符串
isinstance(s, unicode) 用来判断是否为unicode
如果要把一定编码的字符序列写到文件里,只要把字符序列编码为所需编码即可,例如:
l = '刘龙'
l = unicode(l, 'cp936')
l = l.encode('utf-8')
open('test.txt','w').write(l)
····呵呵,Unicode就像一个平台,把大家都统一到一起了。但是有点浪费空间啊,所以大家决定自己到了统一平台之后再定制一下也不错。
---顺便推荐一个检测编码类型的好东西codedet:http://chardet.feedparser.org/


相关文档:

(python)http://www.python.org/

中文简介
  Python (发音:[ 'paiθ(?)n; (US) 'paiθ?n ]n.蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。它的名字来源于一个喜剧,也许最初设 ......

Python日期操作学习笔记

 http://www.itzn.cn/html/jiaoben/python-perl-VBA/200812/19-3283.html
字符串是使用静态的方式进行存储,只能读而不能直接修改字符内容。特别将一堆对字符串并在一起的时候,虽然可以直接相加,听说这样的速度奇慢,只有用其它函数的方式进行,好在也不太麻烦。
比如用 print ','.join(datelist)
就可以将date ......

Python字符集编码和文件读写

 这篇文章讲得比较清楚python的字符串编码问题
原文出处:http://hi.baidu.com/yobin/blog/item/894158b575090dcb37d3ca07.html
------------------------------------------------------------------
字符串编码
python中默认编码是ASCII,可以通过以下方式设置和获取:
import sys
print sys.getdefa ......

菜鸟学Python(一)

   为充实自己那平庸的知识库,从今天开始,学习Python语言。   太高深的资料看不懂,当了本最简单的Python简明教程,中文版chm格式的。不说废话了,开始进入Python的世界吧。 (一)安装Python    写这篇文章时,Python的最新版本是3.1,我喜欢用最新的,就下了新版本的。一路Next下去,我的C ......

python中类属性和类实例的属性的区别

以下内容转载自javaeye.com的作者bluecrystal
环境说明:以下python代码均在python2.5下通过。
    最近看到一些人在讨论python中类属性和类的实例的属性,我也来谈谈我个人对这个问题的看法,供pyer参考。
    首先我们来简单的定义一个python的类:
Python代码
# coding:  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号