[oeasy]python0129_unicode_中文字符序号_十三道大辙_字符编码解码_eval_火星文

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