网站建设做什么,沈阳男科医院收费标准,软件开发环境,Python做网站难不难什么是字符编码呢?
在讲字符编码的之前,我先讲一个东西叫字符集
什么是字符集呢?
python默认的字符集unicode
很简单,就是他把大部分国家的文字,符号,都集合过来,每一个文字或者说是符号都有一个编号去代表
你可以理解成高考
每个考生的准考证号,就代表这个学生
那么字…什么是字符编码呢?
在讲字符编码的之前,我先讲一个东西叫字符集
什么是字符集呢?
python默认的字符集unicode
很简单,就是他把大部分国家的文字,符号,都集合过来,每一个文字或者说是符号都有一个编号去代表
你可以理解成高考
每个考生的准考证号,就代表这个学生
那么字符集也是一样的道理
每个编号就代表这个字符
a 你
# 那么它的字符集编号怎么看呢?
print(ord(a))
# 那么我们也可以通过字符集编号,查看它代表的字符
print(chr(20321))
再回过头来讲讲什么是字符编码
在讲字符编码之前,我在讲讲字节,
讲字节之前我在讲讲生活中的例子
你的一个文件的大小,单位是什么?
b,byte,kb,M,G,T
11111111 上面那个二进制数是8位
也就是是8b
换算
1byte (字节) 8b
1kb 1024byte
1M 1024kb
1G 1024M
1T 1024G
前面这个就是代表数据的大小
在仔细讲讲字节
一个字节是8位
11111111
那么8位能够代表的数是不是最多可以代表256
也就是说一个字节可以代表256个数
如果一个数就代表一个字的话,那么是不是一个字节就可以代表256个字呢
我们中华文化博大精深对吧
肯定不止256个字啊
所以用两个字节去表示
这个时候两个字节有几种变化呢?
65536
但是我们汉字不止65536对吧
所以我们用三个字节
三个字节的变化就肯定能够包括所有的汉字了,每一种可能就是代表一个汉字
a 你
那么现在用utf-8的编码格式,去把这个汉字换成字节
print(a.encode(utf-8))
b\xe4\xbd\xa0
# 这就是一个16进制的数,只是方便我们看而已,也就是换成10进制,代表的就是228,189,160这几个数组合就代表了你这个字
print(a.encode(gbk))
# 196 227 两个字节就代表了这个你这个字符 我们传输数据的时候,一个字,是怎么传输的
因为每个字都有一个编号(字符集里面的),然后我们再通过不同的编码格式,把这个编号(转码)转换成字节码(16进制),然后传输的时候,再转换成二进制,也就是电信号啥的,然后到你手机,或者你电脑,再转成字节码(16进制),然后在转成你看见的字(解码)
a 你
b a.encode(utf-8)
print(b)
下面就是把16进制解码成字符
c b.decode(utf-8)
print(c)