信息技术:71Python encode和decode方法:字符串编码转换_第1页
信息技术:71Python encode和decode方法:字符串编码转换_第2页
信息技术:71Python encode和decode方法:字符串编码转换_第3页
信息技术:71Python encode和decode方法:字符串编码转换_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python encode。和decode。方法:字符串编码转换 前面章节在介绍bytes类型时,已经对encode()和decode()方法的使用做了简单的介 绍,本节将对这2个方法做详细地说明。我们知道,最早的字符串编码是ASCII编码,它仅仅对10个数字、26个大小写英文字 母以及一些特殊字符进行了编码。ASCII码做多只能表示256个符号,每个字符只需要占 用1个字节。随着信息技术的开展,各国的文字都需要进行编码,于是相继出现了 GBK、GB2312、UTF-8 编码等,其中GBK和GB2312是我国制定的中文编码标准,规定英文字符母占用1个 字节,中文字符占用2个字节;而UTF-8是

2、国际通过的编码格式,它包含了全世界所有 国家需要用到的字符,其规定英文字符占用1个字节,中文字符占用3个字节。Python 3.x默认采用UTF-8编码格式,有效地解决了中文乱码的问题。在Python中,有2种常用的字符串类型,分别为str和bytes类型,其中str用来表 示Unicode字符,bytes用来表示二进制数据。str类型和bytes类型之间就需要使用 encode()和decode()方法进行转换。Python encode。方法encode()方法为字符串类型(str)提供的方法,用于将str类型转换成bytes类型,这 个过程也称为编码。encodeQ方法的语法格式如下:s

3、tr.encode(encoding = utf-8/errors=strict)注意,格式中用口括起来的参数为可选参数,也就是说,在使用此方法时,可以使用口中 的参数,也可以不使用。该方法各个参数的含义如表1所示。表1 encode。参数及含义参数含义str表示要进行转换的字符串。encoding 二utf-8指定进行编码时采用的字符编码,该选项默认采用utf-8编码。例如,如果想使用简体中文,可以设置gb2312o当方法中只使用这一个参数时,可以省略前边的encoding一,直接写编码格式,例如str.encode(UTF-8)oerrors =strict指定错误处理方式,其可选择值可以

4、是:strict :遇到非法字符就抛出异常。ignore :忽略非法字符。replace :用替换非法字符。xmlcharrefreplace :使用 xml 的字符弓I用。该参数的默认值为strict。注意,使用encode()方法对原字符串进行编码,不会直接修改原字符串,如果想修改原 字符串,需要重新赋值。例1将str类型字符串C语言中文网转换成bytes类型。 str = C语言中文网 str.encode()bCxe8xafxadxe8xa8x80 xe4xb8xadxe6x96x87xe7xbdx91此方式默认采用UTF-8编码,也可以手动指定其它编码格式,例如: str = C语言

5、中文网” str.encode(GBK)b Cxd 3xefxd lxd4xd 6xd 0 xcexc4xcdxf8Python decode。方法和encode()方法正好相反,decode()方法用于将bytes类型的二进制数据转换为str 类型,这个过程也称为解码。decode()方法的语法格式如下:bytes.decode(encoding = utf-8/errors=strict)该方法中各参数的含义如表2所示。表2 decode。参数及含义参数含义bytes表示要进行转换的二进制数据。encoding = utf-8指定解码时采用的字符编码,默认采用utf-8格式。当方法中只使用

6、这一个参数时,可以省略encoding-,直接写编码方式即可。注意,对bytes类型数据解码,要选择和当初编码时一样的格式。errors = strict指定错误处理方式,其可选择值可以是:strict :遇到非法字符就抛出异常。ignore :忽略非法字符。replace :用替换非法字符。xmlcharrefreplace :使用 xml 的字符弓I用。该参数的默认值为strict例2 str=C语言中文网” bytes二str.encode。 bytes.decode()C语言中文网注意,如果编码时采用的不是默认的UTF-8编码,那么解码时要选择和编码时一样的格式, 否那么会抛出异常,例如: str=C语言中文网” bytes = str.encode(GBK) bytes.decode() #默认使用UTF-8编码,会抛出以下异常Traceback (most recent call last):File / line 1, in bytes.decodeOUnicodeDecodeError:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论