关于字符串 - jerry

Welcome to Aiiyx !

关于字符串

1、字符、字符集

1)字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合

2)字符集包括:ASCII字符集、GB2312字符集、GB18030字符集、Unicode字符集等

3)ASCII编码是1个字节,而Unicode编码通常是2个字节。

4)UTF-8是Unicode的实现方式之一,UTF-8是它是一种变长的编码方式,可以是1,2,3个字节

2、python3中的字符串

python3中两种字符串类型:

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

使用方法:

  • str 使用encode方法转化为 bytes
  • bytes 通过decode转化为 str

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

注意:字符串的类型与编码方式是两回事,不要混为一谈!不要去瞎扯皮!!!

3、python2中字节类型和unicode类型的转化(详见爬虫部分字符串解析)

python2中字符串有两种类型

  • unicode类型
  • 字节类型

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

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

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

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

4、对比

分享