python字符编码

最早的字符编码标准:ASCII

    127个字符,没有中文

    1个英文字母需要1个字节

        8个位=1字节

        1024字节=1kb

        1024kb=1MB

后来为了扩展中文支持,出现了GB2312、GBK后来出现Unicode

    把所有语言统一到一套编码里

    每个字符占用2个字节

最后出现UTF-8 (unicode的压缩和优化)

    1个英文 1个字节

    1个中文 3个字节

python3.X 默认unicode编码,默认支持中文

    python3.X 输入英文用的ASCII编码,占用1个字节。

    python3.X 输入中文用UTF-8编码,占用3个字节。

python2.X 默认ASCII编码,无法支持中文

    支持中文方式:

    #!/bin/bash/env python    #解释器

    #_*_ coding:utf-8 _*_     #支持中文,用utf-8格式编码中文。

encode 编码

decode 解码

python3.X socket传输数据必须是 二进制 才能传输。

b开头是 二进制bytes类型。

转换举例:

msg = "你好"

print(msg.encode(encoding="utf-8"))   括号里不指定编码,默认使用utf-8编码

print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))

python2.X会以系统默认编码进行编码