您现在的位置是:课程教程文章
怎么处理Python字符编码转换?
2023-12-18 23:22课程教程文章 人已围观
-
Python全栈精品课之Python精讲课(一)
Python全栈精品课之Python精讲课(一)... -
2019千锋Python超详细入门教程(笔记+课件
2019千锋Python超详细入门教程(笔记+课件获取视频资料源码,请添加官方指定qq:2377443170 2019千锋全新打造Python教程,深... -
微信支付v3版python_JSAPI支付+支付结果通知
微信支付v3版python_JSAPI支付+支付结果通知微信支付V3版系列课程详细讲解微信支付的 JSAPI支付 、 H5支付 、 Native支付 、... -
Python项目实战
Python项目实战Python项目实战:《电影评分系统》 该项目是基于Flask的Web项目,使用python语言的...
python 有str object 和 unicode object 两种字符串, 都可以存放字符的字节编码,但是他们是不同的type,这一点很重要,也是为什么会有encode 和decode。
encode 和 decode在pyhton 中的意义可表示为
encode将
unicode-----> str
decode
unicode <-------str
几种常用法:
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 '\xb3\xa4\xb3\xc7' >>> t.decode('gb2312').encode('utf-8') '\xe9\x95\xbf\xe5\x9f\x8e'
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')
课程教程:怎么处理Python字符编码转换?下一篇:没有了