Python 字符编码转换的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!
python 有str object 和 unicode object 两种字符串,都可以存放字符的字节编码,但是他们是不同的type,这一点很重要,也是为什么会有encode 和decode。 encode 和 decode在pyhton 中的意义可表示为 encode unicode -------------------------> str unicode <--------------------------str decode 几种常用法: str_string.decode('codec') 是把str_string转换为unicode_string,codec是源str_string的编码方式 unicode_string.encode('codec') 是把unicode_string 转换为str_string,codec是目标str_string的编码方式 str_string.decode('from_codec').encode('to_codec') 可实现不同编码的str_string之间的转换 比如: >>> t='长城' >>> t 'xb3xa4xb3xc7' >>> t.decode('gb2312').encode('utf-8') 'xe9x95xbfxe5x9fx8e' str_string.encode('codec') 是先调用系统的缺省codec去把str_string转换为unicode_string,然后用encode的参数codec去转换为最终的str_string. 相当于str_string.decode('sys_codec').encode('codec')。 unicode_string.decode('codec') 基本没有意义,unicode 在python里只用一种unicode编码,UTF16或者UTF32(编译python时就已经确定),没有编码转换的需要。 注:缺省codec在site-packages下的sitecustomize.py文件中指定,比如 import sys sys.setdefaultencoding('utf-8') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |