易截截图软件、单文件、免安装、纯绿色、仅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/


相关文档:

深入 GalCon:Python、游戏开发和人工智能

Alex. J. Champandard
赖勇浩(http://laiyonghao.com) 译
原文地址:http://aigamedev.com/open/interviews/inside-galcon-python-ai/
AiGameDev.com在这个周一的 pratical insights 是对Phil Hassey采访。Phil 是一个独立游戏开发者,也是游戏产业社区的活跃分子。他曾赢得2006年4月的 Ludum Dare 比赛(这个比赛关注 ......

WINCVS 1.3中文版找不到Python的问题解决

 一般安装的都是Python22版,wincvs1.3需要python2.1版本及以上。但是启动过程找不到,网上搜索的方法不大适用。最后经过试验发现,把Python22安装路径下的python22.dll拷贝到wincvs的安装目录下。运行wincvs,ok。觉得这个方法好用的给顶下! ......

[转]使用python调用计算所分词

发信人: TRAD (GFans), 信区: NLP
标  题: 原创:使用python调用计算所分词
发信站: 水木社区 (Mon Nov 23 13:30:46 2009), 站内
代码很简单,但我自己摸索了一下午,发出来共享一下
把这个文件同ICTALAS30.DLL ,DATA文件夹,Configure.xm l放在同一个目录下即可。
python代码
#coding:gb2312 
from cty ......

Python日期操作学习笔记

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

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

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