python培训之怎么处理Python字符编码转换?

发布时间:2022-11-26 09:38:04 人气:112 作者:多测师

  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的编码方式

python培训之怎么处理Python字符编码转换?

  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培训之怎么处理Python字符编码转换?,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线