易截截图软件、单文件、免安装、纯绿色、仅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 比赛(这个比赛关注 ......

Python & XML


Chapter 1
Python and XML
Python and XML are two very different animals, each with a rich
history. Python is a full-scale programming language that has grown
from scripting world roots in a very organic way, through the vision
and guidance of Python's inventor, Guido van Rossum. Guido continue ......

python 中文乱码 问题深入分析

 
转自:http://hi.baidu.com/%C1%EE%BA%FC%CF%F3/blog/item/efb76fb7f0411dc437d3ca20.html
 
在本文中,以'哈'来解释作示例解释所有的问题,“哈”的各种编码如下:
  1. UNICODE (UTF8-16),C854;
  2. UTF-8,E59388;
  3. GBK,B9FE。
一、python中 ......

菜鸟学Python(一)

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

python os 模块

Python 3 教程二:文件,目录和路径
http://www.cnitblog.com/yunshichen/archive/2009/04/01/55931.html
python os模块
http://hi.baidu.com/happynp/blog/item/729243f902d5a751242df2c2.html
http://hi.baidu.com/fiber212121/blog/item/6e07ec03c97b6982d53f7c27.html
python getopt模块
http://www.tsnc.edu.cn/de ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号