通信领域

电话拨号编码

1-9使用1-9个脉冲,0用10个

Morse编码

  • 最多6位

敲击码

按行列编码

Tap Code 1 2 3 4 5
1 A B C/K D E
2 F G H I J
3 L M N O P
4 Q R S T U
5 V W X Y Z

格雷码

曼彻斯特编码

一种同步编码技术,不需要时序信号(自己就是时序信号),但是编码效率低,50%

两种规定,IEEE版本:

低到高表示1

高到低表示0

计算机领域

字母表编码

A-Z -> 1-26 & 0-25

ASCII码

略,主要包含:

  • 0-9,48-57
  • A-Z,65-90
  • a-z,97=122

也可以转换成二进制或十六进制

Base 编码

base xx 中的 xx 表示的是采用多少个字符进行编码,比如说 base64 就是采用以下 64 个字符编码,由于 2 的 6 次方等于 64,所以每 6 个比特为一个单元,对应某个可打印字符。3 个字节就有 24 个比特,对应于 4 个 Base64 单元,即 3 个字节需要用 4 个可打印字符来表示。它可用来作为电子邮件的传输编码。在 Base64 中的可打印字符包括字母 A-Z、a-z、数字 0-9,这样共有 62 个字符,此外两个可打印符号在不同的系统中而不同。

如果要编码的字节数不能被 3 整除,最后会多出 1 个或 2 个字节,那么可以使用下面的方法进行处理:先使用 0 值在末尾补足,使其能够被 3 整除,然后再进行 base64 的编码。在编码后的 base64 文本后加上一个或两个 =,代表补足的字节数。也就是说,当最后剩余一个八位字节(一个 byte)时,最后一个 6 位的 base64 字节块有四位是 0 值,最后附加上两个等号;如果最后剩余两个八位字节(2 个 byte)时,最后一个 6 位的 base 字节块有两位是 0 值,最后附加一个等号。

与 base64 类似,base32 使用 32 个可见字符进行编码,2 的 5 次方为 32,所以每 5 bit 为 1 个分组。5 字节为 40 bit,对应于 8 个 base32 分组,即 5 个字节用 8 个 base32 中字符来表示。但如果不足 5 个字节,则会先对第一个不足 5 bit 的分组用 0 补足了 5 bit ,对后面剩余分组全部使用 “=” 填充,直到补满 5 个字节。由此可知,base32 最多只有 6 个等号出现。

现实世界中编码

条形码

  • 宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符
  • 国际标准
  • EAN-13 商品标准,13 位数字
  • Code-39:39 字符
  • Code-128:128 字符

二维码

  • 堆叠式 / 行排式二维码:Code 16 k、Code 49、PDF417
  • 矩阵式二维码:QR CODE