Python23解释器中字符串中的区别

Posted aydenwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python23解释器中字符串中的区别相关的知识,希望对你有一定的参考价值。

1.python3中的字符串

python3中两种字符串类型:

  • str : unicode的呈现形式

  • bytes :字节类型,互联网上数据的都是以二进制的方式(字节类型)传输的

使用方法:

  • str 使用encode方法转化为 bytes

  • bytes 通过decode转化为 str

编码方式解码方式必须一样,否则就会出现乱码

 

技术分享图片

 

 

2.python2中的字符串

2.1  python2中字符串有两种类型

  • unicode类型

  • 字节类型

在Python2中,字符串无法完全地支持国际字符集和Unicode编码。为了解决这种限制,Python2对Unicode数据使用了单独的字符串类型。要输入Unicode字符串字面量,要在第一个引号前加上‘u‘。

Python2中普通字符串实际上就是已经编码(非Unicode)的字节字符串

 

 

 技术分享图片

 

2.2python2中字节类型和unicode类型的转化

  • 字节类型通过decode转化为unicode类型
  • unciode类型通过encode方法转化为字节类型
  • 方法的使用和python3相同,但是在方法中默认的编解码方式为ascii,对中文需要手动指定为utf-8

技术分享图片

以上是关于Python23解释器中字符串中的区别的主要内容,如果未能解决你的问题,请参考以下文章

python2和python3解释器的区别

Python2和3字符编码的区别

python2和python3 的区别

Python2与Python3的区别/网络编程/socketserver模块中的多线程

Python学习总结

python 基础语法