大家好,我是讯享网,大家多多关注。
#编程语言#
我& # 34;学无止境,自学无极限!”关注我,一起学习简单易懂的Python编程。
0基础学python(80)
在& # 34;计算字符串的长度& # 34;(详见第72节),并对编码的概念、分类和作用做了简单介绍。今天的内容还是来自& # 34;编码& # 34;开始说吧。
最早的字符串编码是ASCII码,由美国国家标准协会(ANSI)制定,因此被称为& # 34;美国信息交换标准代码& # 34;,其内容是这样的:
ASCII码只包括以上四个字符,最多只能代表256个字符。
自1967年ASCII首次作为标准发布以来,到现在已经走过了53年的风雨历程。作为西文字符编码的国际标准,其作用不容忽视。但随着技术的发展,由于ASCII码本身的局限性,逐渐被一颗后起之秀所采用——通用码& # 34;utf-8 & # 34;替换为。
在中国语言环境下,最合适的编码标准应该由我国制定& # 34;GBK & # 34;还有& # 34;GB2312 & # 34。
在Python中,有两种常见的字符串类型:str和bytes。
字符串Unicode字符,即ASCII码、utf-8码、GBK码、GB2312码等编码;
Bytes表示二进制数据,包括编码文本。
我们知道,机器语言本质上是一种由0和1组成的二进制语言,所以在无法拼接的情况下,需要对str和bytes字符进行转换,因为在存储和传输时,str字符类型必须转换为bytes字节类型。
今天,学习如何在字符串和字节之间转换。
1.在Python中,提供了encode()方法将str转换成字节,俗称& # 34;编码过程& # 34;,其语法格式如下:
str.encode(编码= & # 34;utf-8 & # 34;,错误= & # 34;严& # 34;)上面的str当然代表要转换的字符;
关键字encode后面的括号可以包含两个可选参数,参数之间用逗号分隔& # 34;,”分离;
第一个参数编码= & # 34;utf-8 & # 34;,用于指定代码转换中使用的字符编码。省略时,默认为utf-8。仅使用该参数时,编码可以直接用引号括起来;
第二个参数错误= & # 34;严& # 34;,用于指定如何处理错误。省略时,默认值为strict,其值为:strict=出错时抛出异常,ignore=忽略错误,replace = use & # 34?”错误,xmlcharrefreplace=使用XML的字符引用。
谭嗣同去世时,留下了两句诗:& # 34;我笑着从横刀上向天空望去,停留在肝胆里。”,相当雄伟!接下来,用这两首诗定义一个字符串,用& # 34;分别是。GBK & # 34;还有& # 34;utf-8 & # 34;代码被转换成二进制代码输出,如下图所示:
观察上述结果,发现& # 34;utf-8 & # 34;编码成二进制后,比用& # 34;GBK & # 34;龙,这是因为,& # 34;GBK & # 34;汉字用两个字节编码,& # 34;utf-8 & # 34;汉字用三个字节编码。
至于encode()方法的第二个参数,一般用默认值,现在就不赘述了。
2.使用decode()方法将二进制字节类型转换为str类型,通常称为& # 34;解码过程& # 34;其语法格式如下:
bytes.decode(编码= & # 34;utf-8 & # 34;,错误= & # 34;严& # 34;如您所见,语法格式和参数与encode()方法基本相同。其实参数的内容是一样的。因为这两种方法实际上是一个相互反转的过程,所以可以直接用代码例子来说明。详情见下图:
注意:解码过程中使用的字符编码应与编码过程中使用的字符编码一致。和上面的例子一样,编码方法是& # 34;GBK & # 34;,解码还是用& # 34;GBK & # 34;否则会出现异常,如下图所示:
使用decode()方法时还有一点需要注意,即原始字符串不会被修改。如果要修改原始字符串,只能重新分配它。
普通字符串和二进制代码就是这样相互转换的。朋友还能看到吗?
谢谢你一直以来的支持。明天的礼物是& # 34;正则表达式& # 34;请拭目以待。
为自己加油,我& # 34;学无止境,自学无极限!”
本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://51itzy.com/31539.html