[oeasy]python0129_unicode_中文字符序号_十三道大辙_字符编码解码_eval_火星文
unicode 中文字符分类
回忆上次内容
- 字符集
- 从博多码
- 到
ascii
- 再到
iso-8859
系列 - 各自割据
- 如何把世界上各种字符统进行编码
unicode
顺势而生不断进化- 不过字符总量超过了
65536
- 每个汉字都有位置
- 所有汉字里面第一个汉字是什么呢?
分布
- 第一个字就是一
- 一切本是混沌
- 河出图洛出书
- 一划开天
- 分出阴阳
- 一生二
- 太极生两仪
- unicode把一放在中文第一个
- 感受先人创建文明之源
后面的汉字
- 分在几个 blocks 里面
- 最常用的在0x4E00-0x9FBF
- F、B都是16进制的数字就像1、2、3一样
- 这个范围就是中日韩(CJK)字符的范围
- 也属于 2个字节 以内
- 字符数量也很多
- 最常用的在0x4E00-0x9FBF
- 不过由于汉字数量太多
- 原来给的空间不够用了
新分空间
- 又给CJK分配了几个扩展空间
- Extension
- 我们 对比一下
- 原来 \x表示法 和 \u表示法
两种转义
- 原来
ascii
字符a
可以用\x61
表示\x61
对应十六进制的(61)十六进制- 占用
一
个字节 - 使用
\x
进行转义
- 现在
unicode
字符一
可以用\u4e00
表示\u4e00
对应十六进制的(4e00)十六进制- 占用
两
个字节 - 使用
\u
进行转义
- ascii 字符也能用
\u
的方式进行转义
\u
必须得4位16进制数- 不过这样有点浪费空间和带宽
- 序号、字节状态和字符是什么关系呢?
关系
- 序号、字节状态和字符
- 这三个东西也构成一个闭环
- 就像ascii一样
- 我们现在再看一下ord和chr的帮助
ord 和 chr
- ord将字符的unicode编码转化为单字字符串
- chr 将[0,0x10ffff] 转化为unicode 单字字符串
- 序号是unicode的序号
- 在[0,127]范围内
- ascii 和 unicode 重合
- unicode 兼容 ascii
- unicode 形成了主流 之后
- 会吸取周围的小支流
- 类似的还有办公文档的标准
办公文档的标准
- dos时代之后
- win3.1的年代
- 微软推出了字体处理软件
- win3.1的年代
- 金山在wps的基础上推出了盘古系统
win95之后
- win95之后
- 图形用户界面都基于微软的api进行开发
- 微软自身也有office系列
- 客观上
- 微软也就制定了办公软件的标准
- 微软office系列
- 形成了 主流 之后
- wps、中文之星只能按照去兼容它的格式
- 失去了定义标准的可能
- 形成了 主流 之后
- 规则一旦形成
- 就会对后来的事物产生影响
- 其实汉字
- 也有自己的一套归类规则
按照发音来归类
- 可以按照发音来归类
- 甚至可以生成语音…
- 还可以进一步归类吗?
韵母归类
- 押韵助手
- https://yayun.la/
- 可以用来找到押韵词汇
十三道大辙
- 字典用的是拼音排序
- 按照声母的顺序
- 大辙按的是韵母
- 这样就可以更方便找相同韵母的汉字了
大辙 | 对应十八韵 |
---|---|
一发花 | 十八韵的一麻 |
二梭波 | 十八韵的二波三歌 |
三乜斜 | 十八韵的四皆 |
四衣欺 | 十八韵的五支、六儿、七齐 |
五灰堆 | 十八韵的八微 |
六怀来 | 十八韵的九开 |
七姑苏 | 十八韵的十姑 |
八衣欺 | 十八韵的十一鱼 |
九由求 | 十八韵的十二侯 |
十遥条 | 十八韵的十三豪 |
十一言前 | 十八韵的十四寒 |
十二人臣 | 十八韵的十五痕 |
十三汪洋 | 十八韵的十六唐 |
十四中东 | 十八韵的十七庚和十八东 |
-
四、八其实可以合成一道大辙
-
如果要双押
- 就得找词组韵母一致的
- 其实都可以把所有的词归类
- 然后制作一个押韵神器
-
很多各种各样的发音
- 也被所谓的韵
- 进行分类
- 也被所谓的韵
-
词是由字组成的
- 词是如何编码进入计算机的呢?
编码解码
- 两个汉字的unicode编码
- 占用四个字节
- 已知汉字,得到 unicode 值,叫做编码
- 过程为 encode
- 已知 unicode 值,得到汉字,叫做解码
- 过程为 decode
encode decode
- 把 str 字符串 encode 编码 为 bytes 字节序列
- 把 bytes 字节序列 decode 解码 为 str 字符串
- 编码和解码是互为逆运算的
- 绕了一圈又回来了
- 😁
ascii 和 eval
- ascii 得到字符串的unicode编码状态
- eval 得到编码的字符串状态
- 这两个也是逆运算
- 好像也可以然绕一个圈
- eval应该如何理解呢?
eval
- help(eval)
- eval
- 意思是evaluate衡量
- 是一个内置的函数
- 在
__builtins__
这个module里面
- 根据全局变量和局部变量的值进行衡量
- 这里衡量的是
- 按unicode形式的编码好的字符串
- 这里衡量的是
- 实际编码的时候是按照什么排序的呢?
unicode 汉字排序
偏旁部首检字法
- 禾木字旁的放到一起
- 按照偏旁的次序排列
- 其实偏门的汉字很多的
- 偏门的汉字
- 形成了 小众火星文
火星文
- 在火星文转化器中
- 如果爱,请深爱
- 洳淉嬡,埥堔嬡。
- 团长,我从此就是杀马特的人了,爱你呦
- 團萇,莪苁泚僦湜摋骉特哋亾孒,嬡沵呦。
- 爱我不是你的错
- 嬡莪芣湜沵哋措
- 你是我的翅膀
- ༺༒妳ィ是俄棏翄艕ོ
- today is my birthday
- 特嘚孓麥波斯嘚
- 如果爱,请深爱
- 这真的有点亚文化
- 用这个问人工智能
- 也会晕吧?!
- 用这个问人工智能
火星文输入法
- 其实火星文就是把常用汉字序号
- 和不常用的汉字的序号
- 对应了起来
- 文字转化就是找到序号的映射
- 也是一种 加密方法
- 你用这语料进行深度学习
- 学出来也是一头雾水
- 你用这语料进行深度学习
总结
- 中文字符可以有各种分类方法
- 声母
- 拼音检字法
- 韵母
- 合辙押韵的分类
- 偏旁部首
- 实际上unicode的排序方法
- 声母
- 我们以前勇闯地下城时候获得了一把屠龙宝刀
- 给他镶上了❤️宝石
- 这宝石应该如何理解?
- 我们下次再说!👋
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython