欢迎光临散文网 会员登陆 & 注册

[oeasy]python0128_unicode_字符集_character_set_八卦_星座

2023-04-06 09:57 作者:oeasy  | 我要投稿

unicode

回忆上次内容

  • 中国的简体和繁体汉字

    • 字符数量都超级大

    • 彼此还认对方为乱码

  • 如果有一种编码所有的字符都能编进去就好了

    • 中日韩(CJK)

    • 欧洲拼音

    • 梵文

    • 阿拉伯文

    • 卢恩字符

    • 等等等都包括进去

  • 能有么?🤔

回顾历史

  • 计算机中只有 01

    • 并且是存储在字节里的

    • 原来只能表示和处理数字

    • 字符无法处理

  • 后来某些二进制数固定下来代表某个字符

    • 形成了字符集

    • 从博多码(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


        [oeasy]python0128_unicode_字符集_character_set_八卦_星座的评论 (共 条)

        分享到微博请遵守国家法律