python 文本编辑基础记录

不熟悉编码方式,同时python的编码方式折磨我了很长时间,记录下,以免忘记,本文内容存在错误,是自己理解,看到仅当参考

Unicode 是字符集,有点像一本字典,utf-8是在unicode这本字典基础上出版的其他字典(还要UTF-16这个最接近原版),(utf-8使用二进制对unicode字符集进行编码)同时utf-8因为是可变长度,所以中文在unicode中是一个字符长度,而用utf-8编码后为3个字节长度

unicode使用16位序列来编码,utf-8一个字符用8个序列,所以传输ASCII码更节约空间,同时中文字符会浪费空间,就是使用24位来传输一个中文 ('\xe5\xa4\xa7') (u'\u5927')同一个字机器中不同的表示方式

python中可以在开头的两行制定对unicode的解码方式,但是问题是读取文件,或者接受网络字符的时候,字符所用的字符集不一定是Unicode,一般是UTF-8,说以要进行转换

#coding=utf-8

def changeTest():
str1 = u'你好' #utf-8的格式
print repr(str1)
change1 = str1.encode('utf-8') #表示unicode转换为utf-8
print repr(change1)
str2 = '你好'
print repr(str2)
change2 = str2.decode('utf-8') #表示utf-8转换为unicode

函数里面全是utf-8这个容易产生误解,我记住decode是转换其他编码为unicode,encode是转换unicode为其他编码。

上一篇:wemall app商城源码中ScrollView中嵌套ListView主要代码


下一篇:WebView使用input file控件打开相册上传图片