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

(转)Unicode和Python的中文处理

      ——由于最近在做有关网页搜索的项目,涉及到一些编码方面的知识,小弟在网上偶然地发现了这么一篇文章,很易懂,不晦涩,为了方便自己也同时能方便大家,就转了过来,以作参考……
      文章出处:http://blog.csdn.net/tingsking18/archive/2009/04/03/4033645.aspx
Unicode和Python的中文处理
  在Python语言中,Uincode字符串处理一直是一个容易让人迷惑的问题。许多Python
爱好者经常因为搞不清Unicode、UTF-8还有其它许许多多的编码之间的区别而大伤脑筋。
笔者曾经也是这“伤脑筋一族”的成员,但经过半年多的努力,现在终于初步弄清楚其中
的一些关系。现将其整理如下,与各位同仁同享。同时也希望能借这篇短文抛砖引玉,吸
引更多真正的高手加入进来,共同完善我们的Python中文环境。
  本文所提到的各种观点,一部分是查阅资料所得,还有一部分是笔者利用已有各种编
码数据用“猜测加验证”法得到。笔者自问才疏学浅,其中怕是藏有不少错误。各位看官
中不乏高手,如果有哪一位发现其中哪里有错,万望各位高人不吝赐教。笔者自己丢丑事
小,观点错误误了别人事大,因此各位大可不必顾忌笔者的面子问题。
第一节 文字编码和Unicode标准
  要解释Unicode字符串就必须先从什么是Unicode编码开始说起。众所周知,文本显示
一直是计算机显示功能必须解决的基本问题。而计算机并不识字,它实际上是把文本看做
是一串“图片”,每张“图片”对应一个字符。每个计算机程序在显示文本时,必须借助
一个记录这个文字“图片”如何显示的“图片”集合,从中找到每一个字符对应“图片”
的数据,并依样画葫芦地把这个字“画”到屏幕上。这个“图片”就被称为“字模”,而
记录字模显示数据的集合就被称为“字符集”。为方便程序查找,每个字符的字模数据在
字符集中必须是有序排列的,而且每个字符都会被分配一个独一无二的ID,这个ID就是字
符的编码。而在计算机进行字符数据处理时,总是用这个编码代表它表示的那个字符。因
此,一个字符集就规定了一组计算机能够处理的字符数据。显然,不同国家指定的字符集
大小不同,相应的字符编码也不同。
  在计算机历史上,最为广泛使用的标准化字符集当首推ASCII字符集。它


相关文档:

Python入门的36个例子 之 19

源代码下载:下载地址在这里
# 023
# Tuple(元素组)是不可变的列表
tuple1 = (1, 2, 3)
print tuple1
tuple2 = (tuple1, 4, 5, 6) # 一个元素组可以作为另外一个元素组的元素
print tuple2 # 并且能够在存储的时候保持原始的逻辑关系
for ele in tuple2:
print ele
print '\n'
for ele in tuple2[0]:
pr ......

Python入门的36个例子 之 24

# 027
toolName = 'Google'
if toolName.startswith('Go'):
print 'The tool\'s name starts with \"Go\".'
if 'oo' in toolName:
print 'The tool\'s name contains the stirng "oo".'
print toolName.find('gl') # 返回首次出现“gl”字符串的索引
if toolName.find('Baidu ......

Python入门的36个例子 之 26

源代码下载:下载地址在这里
# 029
aFile = file(r'C:\in.txt', 'r')
while True:
line = aFile.readline()
if len(line) == 0:
break
# end of if
print line,
# end of while
aFile.close()

output:
>>>
This is the first line.
This is the second line.
This is ......

Python入门的36个例子 之 28

源代码下载:下载地址在这里
# 032
# 其实cPickle这个模块起到的作用可以用“完美地协调了文件中的内容(对象)和代码中的引用”来形容
import cPickle as p # 这条语句给cPickle起了个小名p
objectFileName = r'C:\Data.txt'
aList = [1, 2, 3]
f = file(objectFileName, 'w')
p.dump(aList, f)
f.close ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号