[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 字(可选)

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



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




目录
相关文章
|
7天前
|
人工智能 Shell 开发工具
[oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
9 1
|
18天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
29 4
|
25天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
19 1
|
11天前
|
人工智能 开发工具 Python
[oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
11 0
|
1月前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
21 3
|
1月前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
26 0
|
4天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
4天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
4天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!