[oeasy]python0128_unicode_字符集_character_set_八卦_星座
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](http://pic.ttrar.cn/nice/%5boeasy%5dpytho.jpg)
unicode
回忆上次内容
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/f553628ed8e8e88e3707621f08671985.png)
- 能有么?🤔
回顾历史
- 计算机中只有
0和1- 并且是存储在字节里的
- 原来只能表示和处理数字
- 字符无法处理
- 后来某些二进制数固定下来代表某个字符
- 形成了字符集
- 从博多码(5bits)到 BCDIC(6bits)
- 再到 EBCDIC码(8bits) 最后统一于
ascii
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/9280997d5080252d245951c6be94ec8b.png)
- 但是 各国家和地区
- 都有 自己的文字
- 这一领域 没有 统一的标准
- 所以每个国家和地区
- 都制定自己的编码标准
- 想要同时显示 法语字符和西里尔字符 是不可能的
- 同样字节状态 在不同编码格式里 代表不同的字符
- 都认为对方是乱码
- 彼此不兼容
- 编码方式有上百种之多
- 互为乱码
分久必合
- 无法解决的问题背后 可能是机会
- 1980 年代
- Xerox(施乐公司) 在 开始尝试一种编码
- 能融合多语言
- Xerox 字符集包括
- 拉丁
- 阿拉伯
- 希伯来
- 希腊
- 西里尔
- 中日韩字符
- Xerox(施乐公司) 在 开始尝试一种编码
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/ca7cc56cf124beec78de8df5654f94a1.png)
- 这个字符集 1988 年进化为 unicode
- uni的意思是一
uni
- uni 来自于
- unique
- unified
- universal
- unicorn
- university
- uniform
- unit
- union
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/85df0c58063c1e7874d7c79ea8c14ec3.png)
- uni-开头的单词都有这个特点
universe
- universe
- uni
- 一
- verse
- 旋转
- universe
- 绕着一个东西转的
- 从一转化而来的
- uni
- 一生二 二生三 三生万物
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/1571c7a485c68a72e178e2cd01fd3aac.png)
- 后来日语
- 将universe翻译成宇宙
- 宇宙一词 中文以前就有
- 上下四方曰宇
- 古往今来曰宙
得一
- 这个词头计算机领域也有很多很牛的单词
- unit、unix、unity、unicode
- 这名字得一了啊
- 少则得,多则惑,是以圣人抱一为天下式
- 天得一以清,地得一以宁,神得一以灵,谷得一以盈,万物得一以生,侯王得一而以为正
- 这个版本叫做 unicode88
- 是 16 位的 unicode
- 1989 年
- Unicode 这个工作组来了一些从大厂来的人
- 微软和 sun 都来了
- 1991/1/3 日
- Unicode 委员会在加州成立
- 1991 年 8 月
- unicode 第一卷发布
- 1992 年 6 月
- 第 2 卷发布
- 这里面包含了汉语字符
- Unicode 这个工作组来了一些从大厂来的人
- unicode 委员会 形成
- Adobe, Apple, Facebook, Google, IBM, Microsoft, Netflix 和 SAP SE 等公司的工程师加入
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/4a0291c664c129cf69711d13fb50a0b6.png)
- 字符的全球标准化开始了
基础字符
- ascii 还是牢牢占据着 0-127 这最关键的位置
- 紧挨着 ascii 的字符的就是 Latin-1
- 由 iso-8859-1 西欧、北欧字符集进化而来
- 紧挨着 ascii 的字符的就是 Latin-1
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/14e640760b43d6f49cb05a85accacda4.png)
- 这其实也 标识出unicode的 编码排序规则
- 以书写系统为单位
- 分类和收录
- 以书写系统为单位
各种拼音文字
- 比如卢恩字符
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/6a337aa13a1502e4d7e3653809d6e5f1.png)
- 再去捋一捋
- 拉丁字符进化过程吧
拉丁字符进化史
| 发音 | 词义 | 埃及圣书体 | 楔形写法 | 希腊字符 | 拉丁字符 |
|---|---|---|---|---|---|
| alpha | 牛 | 𓃾 | 𐤀 | Αα | Aa |
| beta | 房子 | 𓉐 | 𐤁 | Ββ | Bb |
| gīml | 棍子 | 𓌙 | 𐤂 | Γγ | Cc,Gg |
| dālet | 门或者鱼 | 𓉿 | 𐤃 | Δδ | Dd |
- 去看看他们的序号
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/b551bdf03789fbd83680c168d3e3b5b9.png)
- 希腊字符比较好找
- 序号较小
- 不过希腊字符之前只有大写字母
- 小写字母怎么来的呢?
小写字母
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/fe2011e510a00db46d513c71600aa06c.png)
- 手写画风固定下来后
- 又被印刷术 再次固定
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/0f2c8d59988a6bc2616aab9e856e50b6.png)
- 能找到埃及文字的序号吗?
埃及文字
- unicode 确实给埃及文字排了序号
- 但是序号很大
- 而且目前终端没有字型支持
- 但是序号很大
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/cce2aa427a71b51309087d211795f091.png)
-
字型文件 实现难度不小
- 实际需求 也不确定
-
同为 拼音文字的不同书写系统
- 可能会用到 长得一样的字符
- 会是一个序号吗?
- 可能会用到 长得一样的字符
书写系统
- 英文字母、拉丁字母、西里尔文字母
- 都源自希腊文字母 Omicron
- 不同的书写系统
- 可能会长相一样的字母
- 但对应着不同的序号
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/947a0e64d62bad1804892b2506aff688.png)
- 虽然字形一模一样
- 但是属于三个书写系统
- 希腊文字母
- 英文字母
- 西里尔字母
- 但是属于三个书写系统
- 所以 有不同的序号
持续进化
- 每个版本都会有些变化
- 整个编码区域分成若干个 blocks
- 新版本对于这些 blocks 里面的字符有所增加
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/b063c85c0be6d9b9cabfa4683163818f.png)
十二星座
- 除了字符之外还有很多符号
- 比如十二个星座
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/e1b4a397cfaff77939fc7cb9479ff77c.png)
- 集装箱 标准化一旦开始
- 就会 反过来 约束火车轮船飞机
- 你要想 加入这个交流的行列
- 必须先了解相应的接口
- 从遵守现有的规则开始
- 必须先了解相应的接口
unicode时代
- 新编码unicode的时代来了
- 他会把一切字符吸收进去
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/781d9d9dd1530d38c5dfbb5663c2bbc4.png)
- 同一个文档
- 可以既有中文
- 又有日文
- 还有韩文
- 一切字符都能正常显示
阴阳太极
- 易有太极
- ️☯
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/6dfeb259b47eddaef69a48131b82ec87.png)
- 是生两仪
- ⚊ 陽 (U+268A) ⚋ 陰 (U+268B)
- 两仪生四象
- ⚌(太陽,U+268C)、⚍(少陰,U+268D)、⚎(少陽,U+268E)、⚏(太陰,U+268F)
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/2514cb1a5022ed04405dbb5126ba3b90.png)
八卦
- 四象生八卦
- ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/fb364c132ad4c7b8749f206330fd384d.png)
-
如果把
- ⚊ 陽 (U+268A)当做1
- ⚋ 陰 (U+268B)当做0
-
顺序是逆序(递减)
-
从外而内
- 天
- 泽
- 水
- 雷
- 风
- 火
- 山
- 地
-
八卦有了
- 可以重卦么?
重卦
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/dc2c58ee1a5a0b336aad48208b3216b2.png)
- 八八六十四卦
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/7237048c1f2bc0a723622f85b09ab354.png)
- 看起来都可以玩算卦了
- 还能做什么呢?
乱来
- 来随便试一个
print("\\u9999")
- 看看这是什么字?
中日韩字符
-
中文编码原来是 gbk
-
unicode 现在unicode把中日韩(CJK)当成一组
- 排序是CJK
- 位置是unicode.org下方的code chart中找到
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/0be5bd9b572619c54dffec771241e935.png)
- 当然关于排序各有各的排法
- 中国是中日韩
- 日本是日中韩
- 韩国是韩中日
- unicode组织的CJK显然综合了东亚文化圈的排名
- 我仿佛听到卡吉玛
所在位置
- 象形文字数量确实是拼音文字没有办法比的
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/f538079b10556652e25161f4993053dc.png)
- 他们听到我们有两万个字母的时候都傻了
融合而来
- unicode中的文字将
- 中国汉字
- 朝鲜汉字
- 日本汉字
- 综合起来
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/0b875be5c66cf14ae8d5b16a67df3780.png)
- 得到一个汉字
- 那如果有很多异体字怎么办?
回字的几种写法

- 这些都是异体字
- 或者叫做通假字
- 在计算机里是如何的呢?
茴香豆
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/be670391372718793d60f4eb69fea06b.png)
- 在0x4e00到0x9fff这个范围内
- 基本一个汉字就只有一种写法
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/95d4e3f3ef66b33555bee9b809f41896.png)
总结
- 字符集
- 从博多码
- 到
ascii - 再到
8859 - 各自割据
- 如何把世界上各种字符统进行编码
unicode顺势而生不断进化- 不过字符总量超过了
65536 - 每个汉字都有位置
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/cd99e6d7a853e383fe795fc5b7c0c70d.png)
- 所有汉字里面第一个汉字是什么呢?
- 我们下次再说!👋
![[oeasy]python0128_unicode_字符集_character_set_八卦_星座](https://img-blog.csdnimg.cn/img_convert/594d23fa821b6c3430761b3e45ccd499.png)
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython


