欢迎光临散文网 会员登陆 & 注册

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

2023-04-07 10:03 作者:oeasy  | 我要投稿

unicode 中文字符分类

回忆上次内容

  • 字符集

    • 从博多码

    • ascii

    • 再到 iso-8859 系列

    • 各自割据

  • 如何把世界上各种字符统进行编码

    • unicode顺势而生不断进化

    • 不过字符总量超过了65536

    • 每个汉字都有位置

  • 所有汉字里面第一个汉字是什么呢?

分布

  • 第一个字就是一

  • 一切本是混沌

    • 河出图洛出书

    • 一划开天

    • 分出阴阳

  • 一生二

    • 太极生两仪

  • unicode把一放在中文第一个

    • 感受先人创建文明之源

后面的汉字

  • 分在几个 blocks 里面

    • F、B都是16进制的数字就像1、2、3一样

    • 这个范围就是中日韩(CJK)字符的范围

    • 最常用的在0x4E00-0x9FBF

    • 也属于 2个字节 以内

    • 字符数量也很多

  • 不过由于汉字数量太多

    • 原来给的空间不够用了

新分空间

  • 又给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的年代

  • 金山在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


      [oeasy]python0129_unicode_中文字符序号_十三道大辙_字符编码解码_eval_火星文的评论 (共 条)

      分享到微博请遵守国家法律