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 年
-
Unicode 这个工作组来了一些从大厂来的人
-
微软和 sun 都来了
-
1991/1/3 日
-
Unicode 委员会在加州成立
-
1991 年 8 月
-
unicode 第一卷发布
-
1992 年 6 月
-
第 2 卷发布
-
这里面包含了汉语字符
-
unicode 委员会 形成
-
Adobe, Apple, Facebook, Google, IBM, Microsoft, Netflix 和 SAP SE 等公司的工程师加入
-
字符的全球标准化开始了
基础字符
-
ascii 还是牢牢占据着 0-127 这最关键的位置
-
紧挨着 ascii 的字符的就是 Latin-1
-
由 iso-8859-1 西欧、北欧字符集进化而来
-
这其实也 标识出unicode的 编码排序规则
-
以书写系统为单位
-
分类和收录
各种拼音文字
-
比如卢恩字符
-
再去捋一捋
-
拉丁字符进化过程吧
拉丁字符进化史
-
去看看他们的序号
-
希腊字符比较好找
-
序号较小
-
不过希腊字符之前只有大写字母
-
小写字母怎么来的呢?
小写字母
-
手写画风固定下来后
-
又被印刷术 再次固定
-
能找到埃及文字的序号吗?
埃及文字
-
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
-
每个汉字都有位置
-
所有汉字里面第一个汉字是什么呢?
-
我们下次再说!?