关于编码的一些小总结

编码二

   1,不同的密码本之间的二进制是不能互相识别的,容易报错或者产生乱码。

    2,计算机的文件存储和传输都是0101010(gbk,utf-8,ascii,gb2312等)不能是unicode。

    大前提:python3x,编码。

    bytes :str 拥有的所有方法,bytes都有。

   python3x 内存中的编码方式是unicode

        英文:

            str: 表现形式  name = "alex"

                 内部编码:unicode

            bytes:表现形式:name1 = b"alex"

                 内部编码:非unicode

        中文:

            str: 表现形式  name = "中国"

                 内部编码:unicode

            bytes:表现形式:b'xe4xb8xadxe5x9bxbd'

                   内部编码:非unicode

name ="中国".encode('utf-8')
name1 =b'alex'
print(name,type(name))
print(name1,type(name1))




b'xe4xb8xadxe5x9bxbd' <class 'bytes'>
b'alex' <class 'bytes'>
# name = "alex"
# name1 = b"alex"
# print(name,type(name))
# print(name1,type(name1))






alex <class 'str'>
b'alex' <class 'bytes'>


# str ---> bytes
s1 = '中国'
b1 = s1.encode('utf-8') # encode 编码
b2 = s1.encode('gbk')
print(b1)
print(b2)
s2 = b1.decode('utf-8') # decode 解码
print(s2)

b'xe4xb8xadxe5x9bxbd'
b'xd6xd0xb9xfa'

中国

# utf-8 bytes  ---> gbk bytes

s1 = b"alex"
print(s1.capitalize())







b'Alex'
原文地址:https://www.cnblogs.com/HoneyTYX/p/8992272.html