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


目录
相关文章
|
1月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
134 4
|
7月前
|
人工智能 Python
[oeasy]python082_变量部分总结_variable_summary
本文介绍了变量的定义、声明、赋值及删除操作,以及Python中的命名规则和常见数据类型。通过示例讲解了字符串与整型的基本用法、类型转换方法和加法运算的区别。此外,还涉及异常处理(try-except)、模块导入(如math和random)及随机数生成等内容。最后总结了实验要点,包括捕获异常、进制转化、变量类型及其相互转换,并简述了编程中AI辅助的应用策略,强调明确目标、分步实施和逐步巩固的重要性。更多资源可在蓝桥、GitHub和Gitee获取。
273 97
|
7月前
|
人工智能 Python
[oeasy]python089_列表_删除列表项_remove_列表长度_len
本文介绍了Python列表(list)的操作方法,重点讲解了`remove`方法的使用。通过实例演示如何删除列表中的元素,探讨了`ValueError`异常产生的原因,并分析了时间复杂度O(n)的概念。同时提及了`clear`方法清空列表的功能及`len`函数获取列表长度的用法。最后以购物清单为例,展示列表的实际应用场景,并预告快速生成列表的方法将在后续内容中介绍。
264 62
|
6月前
|
存储 索引 Python
[oeasy]python093_find方法_指数为负数_index_实际效果
本文介绍了Python中`find`方法与索引(index)的使用,包括负数索引的实际效果。回顾了`eval`函数的应用,并强调类名如`str`、`int`、`list`不可用作变量名以避免覆盖。通过示例解析了负数索引在字符串和列表中的作用,以及`index`方法的三个参数(value、start、stop)的用法。同时对比了`index`和`find`方法的区别:`index`找不到子串时抛出`ValueError`,而`find`返回-1。最后总结了正负索引的使用场景及两者的特性,提供了相关学习资源链接。
416 8
|
7月前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
208 20
|
7月前
|
Python
[oeasy]python086方法_method_函数_function_区别
本文详细解析了Python中方法(method)与函数(function)的区别。通过回顾列表操作如`append`,以及随机模块的使用,介绍了方法作为类的成员需要通过实例调用的特点。对比内建函数如`print`和`input`,它们无需对象即可直接调用。总结指出方法需基于对象调用且包含`self`参数,而函数独立存在无需`self`。最后提供了学习资源链接,方便进一步探索。
179 17
|
7月前
|
Python 容器
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
本文介绍了Python中列表的生成方法,重点讲解了`range()`函数的使用。通过`range(start, stop, step)`可生成一系列整数,支持正负步长,但不支持小数参数。文章从基础的列表追加、直接赋值到复杂的应用场景(如生成等宽字体的月份列表),结合实例演示了`range()`的灵活性与实用性。最后总结了`range()`的关键特性:前闭后开、支持负数步长,并提供了进一步学习的资源链接。
231 12
|
7月前
|
索引 Python
[oeasy]python092_eval_衡量_转化为列表
本文探讨了 Python 中 `eval` 函数的用法及其与字符串和列表之间的转换关系。通过实例分析,展示了如何使用 `eval` 将字符串转化为对应的数据类型,例如将表示列表的字符串转回列表。同时,文章深入讲解了 `eval` 的工作机制,包括根据本地和全局变量对字符串进行计算的能力。此外,还提醒了命名变量时需避免覆盖内置类名(如 `str`、`int`、`list`)的重要性,以免影响程序正常运行。最后,简要提及字符串和列表索引中负数的应用,并为读者提供了进一步学习的资源链接。
163 2
|
7月前
|
人工智能 Python
[oeasy]python088_列表_清空列表_clear
本文介绍了Python中列表的清空方法`clear`。通过实例讲解了`clear`与将列表赋值为空列表的区别,前者会清空原列表内容,而后者创建新空列表,不影响原列表。文中以收银程序为例,展示了`clear`的实际应用场景,并通过地址观察解释了两者的机制差异。最后总结了相关术语如`list`、`append`、`clear`等,帮助理解列表操作及方法调用的概念。
176 5
|
7月前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
190 11

推荐镜像

更多