[oeasy]python0111_字型码_字符字型编码_点阵字库_ascii演化

简介: [oeasy]python0111_字型码_字符字型编码_点阵字库_ascii演化

编码进化 回忆上次内容

  • 上次回顾了 早期的英文字符点阵
  • 最小的 3*5
  • 通用的 5*7


  • 点阵字库逐渐规范化

添加图片注释,不超过 140 字(可选)

  • 这些点阵字符的字型
  • 究竟是如何被存储的呢?🤔


1602

添加图片注释,不超过 140 字(可选)

  • 1602
  • 2行 x 16个字符
  • 每个字符个 5x7 个像素


添加图片注释,不超过 140 字(可选)

  • 绿色的风格

字形码

  • 把字型 进行 编码
  • 所谓 编码
  • 就是把 字体的长相
  • 弄到计算机的字节中去


  • 可以设置 比一般(Regular)更粗的
  • 加粗(Bold)字体


添加图片注释,不超过 140 字(可选)

  • 可以在显示器中看到字符了
  • 等宽
  • 无衬线
  • 清晰


  • 回顾一下ascii的 演化过程

ASA X3.4-1963

  • 1963年
  • ASA X3.4-1963


添加图片注释,不超过 140 字(可选)

  • 绿色的位置
  • 空了下来
  • 不确定到底放些什么


大括号

  • 1965年
  • Bemer向ASCII引入大括号


添加图片注释,不超过 140 字(可选)

  • 这才有后来的c语言的大括号语法

ESC

  • ESC键落到了现在的位置

添加图片注释,不超过 140 字(可选)

  • \033 或者说 \x1b
  • 成为了控制序列的基础


ascii

  • 英文小写字母
  • 占据了绿色部分
  • 0x61-0x7a



添加图片注释,不超过 140 字(可选)

  • 小写字母落实了位置!
  • 但是法文字符没有位置了


法文字符

  • ascii-1965的结果是
  • 0-127没有法文字符的位置了
  • ascii的范围确定死了



添加图片注释,不超过 140 字(可选)

  • 在哪儿放法文字符呢?
  • ascii如何在字节中表示呢?


  • 关键各个地区
  • 都有自己的 7-bit的ascii


标点

  • 加拿大地区 要有法文字符
  • 这些字符 占据了标点的位置


  • 比如b"\x60"
  • 在标准ascii中被认为是@
  • 在ISO646-CA Canada中被认为是 ô


添加图片注释,不超过 140 字(可选)

  • 加拿大地区 无法使用@
  • 无法使用 电子邮件?!
  • 这很 令人崩溃


  • ASCII中 没有法文字符
  • 所有 法文字符的位置
  • 都被 标点符号 占据了



大小写差距

  • ascii 的优点
  • ascii大小写字母之间只差 1 位(bit)
  • 简化了大小写不敏感的匹配



添加图片注释,不超过 140 字(可选)

  • ascii 的字母序号 是连续的
  • 做字符和字符串比较的时候
  • 就非常 直接和容易


  • 判断 字符是否是字母
  • 也很容易



字型编码

  • 这就是 ascii字符
  • 7 x 5 的 点阵字型
  • 总共 128个字符


添加图片注释,不超过 140 字(可选)

色彩审美

  • c和unix时代的
  • 电传打字机ASR33
  • 逐渐落幕



添加图片注释,不超过 140 字(可选)

  • 黑底绿字的 无衬线点阵风格
  • 成为 一代人心里
  • 抹不去的记忆



  • 我们在vim中选用的murphy配色方案
  • 就在致敬
  • 这种审美



黑底绿字

  • 黑底绿字最潮了!

添加图片注释,不超过 140 字(可选)

隔行扫描

  • 另一个 因技术所限
  • 而导致的迷因
  • 隔行扫描


  • 也是由于 当时刷新速度所限 造成的


添加图片注释,不超过 140 字(可选)

  • 但是
  • 今天成了
  • 一种怀旧的迷因



  • 除了 字符之外
  • 当时的点阵式的显示终端
  • 对字体审美
  • 也有影响




字体审美

  • 无衬线字体

添加图片注释,不超过 140 字(可选)

  • 无衬线风格的出现
  • 是由于 点阵字库技术所限
  • 但却成为了潮流所向



衬线审美

添加图片注释,不超过 140 字(可选)

  • 衬线

添加图片注释,不超过 140 字(可选)

  • 是上个时代的主题

添加图片注释,不超过 140 字(可选)

  • 体现着
  • 优雅
  • 装饰风格
  • 文化底蕴


新时代

  • 像素点阵风格
  • 影响 数字世界的 审美
  • 从衬线风格 到 无衬线风格



添加图片注释,不超过 140 字(可选)

  • 辨析度重要性
  • 高于风格化的
  • 时代来了



添加图片注释,不超过 140 字(可选)

  • 字体进化
  • 从印刷时代的 有衬线字体
  • 到显示器时代的 无衬线字体



添加图片注释,不超过 140 字(可选)

总结

  • 这次回顾了 字型编码的进化过程
  • 从 7-seg 到 点阵字库
  • 终于让字母、数字、标点 明确了字型
  • 小写字符 替代了 法文字符


添加图片注释,不超过 140 字(可选)

  • 7-bit的ascii
  • 已经被完全填满
  • 再也没有 法文字符的位置



  • 法文字符的编码中
  • 无法 编码@字符


  • 不同的语言
  • 有不同的 特殊字符


添加图片注释,不超过 140 字(可选)

  • 在不同字符集里面
  • 特殊字符 和 标点
  • 占据相同位置



  • 字符集 不同
  • 则会将文档
  • 显示为乱码




目录
相关文章
|
8天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80
|
15天前
|
人工智能 C语言 Python
[oeasy]python051_什么样的变量名能用_标识符_identifier
本文介绍了Python中变量名的命名规则,强调标识符(identifier)必须以字母或下划线开始,后续可包含字母、下划线及数字。通过`isidentifier()`函数可验证字符串是否为合法标识符。文中还探讨了为何数字不能作为标识符的开头,并提供了相关练习与解答,最后提及这些规则源自C语言的影响。
108 69
|
17天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
109 68
|
6天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
24 9
|
14天前
|
Unix 编译器 C语言
[oeasy]python052_[系统开发语言为什么默认是c语言
本文介绍了C语言为何成为系统开发的首选语言,从其诞生背景、发展历史及特点进行阐述。C语言源于贝尔实验室,与Unix操作系统相互促进,因其简洁、高效、跨平台等特性,逐渐成为主流。文章还提及了C语言的学习资料及其对编程文化的影响。
23 5
|
19天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
29 9
|
22天前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
28 5
|
21天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
20天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
27天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
134 59