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

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

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 字(可选)


目录
相关文章
|
10天前
|
人工智能 Shell 开发工具
[oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
11 1
|
21天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
30 4
|
28天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
20 1
|
11天前
|
Python
python中eval是什么意思?
语法“eval(表达式[, globals[, locals]])”。
21 0
|
14天前
|
人工智能 开发工具 Python
[oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
11 0
|
1月前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
21 3
|
1月前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
33 0
|
2月前
|
Python
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
28 4
|
2月前
|
Unix 编译器 C语言
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ordinal_
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ord
23 0
|
Rust 算法 安全
【算法】1720. 解码异或后的数组(java / c / c++ / python / go / rust)
未知 整数数组 arr 由 n 个非负整数组成。 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。 给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0])。 请解码返回原数组 arr 。可以证明答案存在并且是唯一的。