[oeasy]python0128_unicode_字符集_character_set_八卦_星座
unicode
回忆上次内容
中国的简体和繁体汉字
字符数量都超级大
彼此还认对方为乱码
如果有一种编码所有的字符都能编进去就好了
中日韩(CJK)
欧洲拼音
梵文
阿拉伯文
卢恩字符
等等等都包括进去

能有么?🤔
回顾历史
计算机中只有
0
和1
并且是存储在字节里的
原来只能表示和处理数字
字符无法处理
后来某些二进制数固定下来代表某个字符
形成了字符集
从博多码(5bits)到 BCDIC(6bits)
再到 EBCDIC码(8bits) 最后统一于
ascii

但是 各国家和地区
都有 自己的文字
这一领域 没有 统一的标准
所以每个国家和地区
都制定自己的编码标准
想要同时显示 法语字符和西里尔字符 是不可能的
同样字节状态 在不同编码格式里 代表不同的字符
都认为对方是乱码
彼此不兼容
编码方式有上百种之多
互为乱码
分久必合
无法解决的问题背后 可能是机会
1980 年代
拉丁
阿拉伯
希伯来
希腊
西里尔
中日韩字符
能融合多语言
Xerox(施乐公司) 在 开始尝试一种编码
Xerox 字符集包括

这个字符集 1988 年进化为 unicode
uni的意思是一
uni
uni 来自于
unique
unified
universal
unicorn
university
uniform
unit
union

uni-开头的单词都有这个特点
universe
universe
绕着一个东西转的
从一转化而来的
旋转
一
uni
verse
universe
一生二 二生三 三生万物

后来日语
将universe翻译成宇宙
宇宙一词 中文以前就有
上下四方曰宇
古往今来曰宙
得一
这个词头计算机领域也有很多很牛的单词
unit、unix、unity、unicode
这名字得一了啊
少则得,多则惑,是以圣人抱一为天下式
天得一以清,地得一以宁,神得一以灵,谷得一以盈,万物得一以生,侯王得一而以为正
这个版本叫做 unicode88
是 16 位的 unicode
1989 年
第 2 卷发布
这里面包含了汉语字符
unicode 第一卷发布
Unicode 委员会在加州成立
微软和 sun 都来了
Unicode 这个工作组来了一些从大厂来的人
1991/1/3 日
1991 年 8 月
1992 年 6 月
unicode 委员会 形成
Adobe, Apple, Facebook, Google, IBM, Microsoft, Netflix 和 SAP SE 等公司的工程师加入

字符的全球标准化开始了
基础字符
ascii 还是牢牢占据着 0-127 这最关键的位置
由 iso-8859-1 西欧、北欧字符集进化而来
紧挨着 ascii 的字符的就是 Latin-1

这其实也 标识出unicode的 编码排序规则
分类和收录
以书写系统为单位
各种拼音文字
比如卢恩字符

再去捋一捋
拉丁字符进化过程吧
拉丁字符进化史
发音词义埃及圣书体楔形写法希腊字符拉丁字符alpha牛𓃾𐤀ΑαAabeta房子𓉐𐤁ΒβBbgīml棍子𓌙𐤂ΓγCc,Ggdālet门或者鱼𓉿𐤃ΔδDd
去看看他们的序号

希腊字符比较好找
序号较小
不过希腊字符之前只有大写字母
小写字母怎么来的呢?
小写字母

手写画风固定下来后
又被印刷术 再次固定

能找到埃及文字的序号吗?
埃及文字
unicode 确实给埃及文字排了序号
而且目前终端没有字型支持
但是序号很大

字型文件 实现难度不小
实际需求 也不确定
同为 拼音文字的不同书写系统
会是一个序号吗?
可能会用到 长得一样的字符
书写系统
英文字母、拉丁字母、西里尔文字母
都源自希腊文字母 Omicron
不同的书写系统
可能会长相一样的字母
但对应着不同的序号
虽然字形一模一样
希腊文字母
英文字母
西里尔字母
但是属于三个书写系统
所以 有不同的序号
持续进化
每个版本都会有些变化
整个编码区域分成若干个 blocks
新版本对于这些 blocks 里面的字符有所增加
十二星座
除了字符之外还有很多符号
比如十二个星座
集装箱 标准化一旦开始
就会 反过来 约束火车轮船飞机
你要想 加入这个交流的行列
从遵守现有的规则开始
必须先了解相应的接口
unicode时代
新编码unicode的时代来了
他会把一切字符吸收进去
同一个文档
可以既有中文
又有日文
还有韩文
一切字符都能正常显示
阴阳太极
易有太极
️☯
是生两仪
⚊ 陽 (U+268A) ⚋ 陰 (U+268B)
两仪生四象
⚌(太陽,U+268C)、⚍(少陰,U+268D)、⚎(少陽,U+268E)、⚏(太陰,U+268F)
八卦
四象生八卦
☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷
如果把
⚊ 陽 (U+268A)当做1
⚋ 陰 (U+268B)当做0
顺序是逆序(递减)
从外而内
天
泽
水
雷
风
火
山
地
八卦有了
可以重卦么?
重卦

八八六十四卦
看起来都可以玩算卦了
还能做什么呢?
乱来
来随便试一个
print("\u9999")
看看这是什么字?
中日韩字符
中文编码原来是 gbk
unicode 现在unicode把中日韩(CJK)当成一组
排序是CJK
位置是unicode.org下方的code chart中找到
当然关于排序各有各的排法
中国是中日韩
日本是日中韩
韩国是韩中日
unicode组织的CJK显然综合了东亚文化圈的排名
我仿佛听到卡吉玛
所在位置
象形文字数量确实是拼音文字没有办法比的
他们听到我们有两万个字母的时候都傻了
融合而来
unicode中的文字将
中国汉字
朝鲜汉字
日本汉字
综合起来
得到一个汉字
那如果有很多异体字怎么办?
回字的几种写法
这些都是异体字
或者叫做通假字
在计算机里是如何的呢?
茴香豆
在0x4e00到0x9fff这个范围内
基本一个汉字就只有一种写法
总结
字符集
从博多码
到
ascii
再到
8859
各自割据
如何把世界上各种字符统进行编码
unicode
顺势而生不断进化不过字符总量超过了
65536
每个汉字都有位置
所有汉字里面第一个汉字是什么呢?
我们下次再说!👋
蓝桥->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython