-
上次再次输出了大红心?
-
找到了红心对应的编码
-
黑红梅方都对应有编码
-
原来的编码叫做 ascii?
-
\u这种新的编码方式叫unicode
-
包括了 中日韩字符集等 各书写系统的字符集
-
但是有个问题
-
拜这个字
-
在字节中应该是b"\x62\xdc"两个字节
-
首先进入 vi
-
然后在插入模式下写一个一
-
点击桌面上的sougo图表
-
在右下角的键盘位置选择中文
-
然后就可以输入中文了
-
字符集(Character-Set)是
-
指的是字符和序号之间的对应关系
-
函数是
-
ord
-
chr
-
ascii、gb2312、BIG5
-
既是字符集
-
又是字符编码
-
一般来讲unicode是字符集
-
可以用ord和chr
-
但Unicode一般不做字符集编码
-
utf-8 是一种可变长度的字符编码格式
-
有的时候 1 字节 利用他省空间
-
有的时候 2 字节 利用他很平衡
-
有的时候 3 字节 利用他范围广
-
再往后 利用的更是他范围广
-
一(4E00) 在上图中
-
属于第三行的范围
-
从 0800-FFFF
-
所以三个字节
-
说明我们用的确实是utf-8编码
-
可以解码回来吗?
-
以及{BANNED}最佳后的
-
0a 依然是 换行LineFeed
-
或者叫做 NL(NewLine)
-
第二次解码
-
把 unicode 解码为汉字
-
具体就是把 0x4e00 解码为 一
-
找到序号对应的字符
-
查看原始字符串utf-8编码
-
"一".encode("utf-8")
-
前缀 b 表示 byte 字节
-
后面的是 bytes类型对应的 字节序列
-
\x 是前缀
-
b"\xe4\xb8\x80"是三个字节的序列
-
utf-8 是系统默认的编码格式
-
一般都是这种编码格式
-
这一个字符就对应三个字节
-
可以用长度来描述字符么?
-
len()函数
-
可以衡量出字符串的长度
-
也可以衡量出编码后字节序列的长度
-
ascii[0,127] 字符 的长度
-
就是字节的长度
-
这个unicode的编码空间
-
究竟是怎么安排的呢?
-
所有unicode字符 被分成了4档
-
ascii
-
1 字节
-
0开头的
-
ascii
-
英文字符和数字占据{BANNED}最佳大范围兼容
-
10开头的
-
2 字节
-
主要是拼音符号文字
-
拉丁
-
希腊
-
西里尔
-
等等
-
110开头的
-
3 字节范围内
-
首先是印度
-
然后是杂项
-
然后是符号
-
日文假名
-
然后是中日韩 CJK
-
11110开头的
-
4 字节
-
表情符号emoji????
-
各种扩展集
-
unicode字符集 开始逐渐流行
-
utf-8所代表的存储编码也开始流行
-
把unicode编码按照utf-8编码
-
"\u4e00".encode("utf-8")
-
80年的gb2312
-
95年的gbk
-
05年有了gb18030
-
全称:国家标准 GB 18030-2005《信息技术中文编码字符集》
-
是中华人民共和国现时{BANNED}最佳新的内码字集
-
是 GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》的修订版
-
utf-8标准海纳百川
-
GB18030用的人很少
-
但始终依然存在
-
有的时候还会遇到 gb18030 编码的文档
-
用 utf-8编码方式
-
打开 gb18030编码 的文件
-
就会乱码
-
这个时候可以在 vim 中使用命令
-
:edit ++enc=gb18030
-
gb18030 用的人少
-
有用的人少的好处
-
如果只会用utf-8解码
-
那么gb18030本身就构成了加密系统
-
只有懂汉语并且懂编码才能看懂
-
不懂的话只能见到乱码
-
想要自动翻译都不行
-
我们下次再说!????
-
蓝桥->
-
github->
-
gitee->
阅读(229) | 评论(0) | 转发(0) |