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