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


目录
相关文章
|
15天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
22天前
|
人工智能 C语言 Python
[oeasy]python051_什么样的变量名能用_标识符_identifier
本文介绍了Python中变量名的命名规则,强调标识符(identifier)必须以字母或下划线开始,后续可包含字母、下划线及数字。通过`isidentifier()`函数可验证字符串是否为合法标识符。文中还探讨了为何数字不能作为标识符的开头,并提供了相关练习与解答,最后提及这些规则源自C语言的影响。
111 69
|
24天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
111 68
|
4天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
26 14
|
13天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
27 9
|
21天前
|
Unix 编译器 C语言
[oeasy]python052_[系统开发语言为什么默认是c语言
本文介绍了C语言为何成为系统开发的首选语言,从其诞生背景、发展历史及特点进行阐述。C语言源于贝尔实验室,与Unix操作系统相互促进,因其简洁、高效、跨平台等特性,逐渐成为主流。文章还提及了C语言的学习资料及其对编程文化的影响。
24 5
|
26天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
34 9
|
29天前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
29 5
|
2月前
|
存储 Python 容器
[oeasy]python045_[词根溯源]赋值_assignment_usage_使用
本文回顾了上一次讲解的内容,重点讨论了变量的概念及其在各种系统和游戏中的应用。文章详细解释了变量的声明与赋值操作,强调了赋值即为将具体值存储到变量名下的过程。同时,通过例子说明了字面量(如数字0)不能被赋值给其他值的原因。此外,还探讨了“赋值”一词的来源及其英文表达“assignment”的含义,并简要介绍了与之相关的英语词汇,如sign、assign、signal等。最后,总结了本次课程的核心内容,即赋值操作的定义和实现方式。
28 3
|
2月前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
29 2