跳到正文

编码与字符编码

標準约 31 分钟4 个术语过去问 5 题

本单元目标

  • 能说明 编码(符号化)与 解码(復号)的关系,并能根据需要区分的种类数求出所需的 比特数。
  • 能根据单字节字符与双字节字符的混合方式,区分 JIS 编码 与 Shift_JIS 编码。
  • 能从可处理的字符范围和编码方式的思路来说明 Unicode。
术语总表(4 个)
术语一句话处理对象(信息・字符)每个字符的大小
符号化按既定规则把信息对应到代码上文字、声音、图像等各类信息取决于规则(n 比特可区分 2 的 n 次方种)
JISコード日本工业标准规定的日语字符编码日语字符和英文数字英文数字 1 字节,汉字等 2 字节
シフトJISコード把双字节字符的编号错开,使其与单字节字符共存的字符编码日语字符和英文数字英文数字和半角假名 1 字节,汉字等 2 字节
Unicode把世界上多种语言的字符统一到一套编号体系中的字符编码世界上多种语言的字符取决于编码方式(UTF-8 为 1〜4 字节)

术语

编码(符号化)是指按照既定规则,把文字、声音、图像等信息对应为 比特串 等代码。

文字や情報

符号化(エンコード)

ビット列(0と1)

復号(デコード)

只要发送方和接收方共享对应规则(代码体系),就能把代码还原为原来的信息,即 解码;规则不一致就会出现乱码等问题。n 比特 的代码可以区分 2 的 n 次方种情况,所以所需比特数由要表示的种类数决定。代码长度既有对所有对象都相同的 定长,也有因对象而异的 变长。

类比就像事先给灯塔灯光的闪烁模式分配好含义。只有持有同一张对照表的船,才能从闪烁中读出意思。

记法日文 符号化 的「符号」是表示信号的记号,「化」是转换成它;反方向的 復号 取「復」(恢复原样)之意,相当于中文的“解码”。

考点

  • 常考n 比特能区分 2 的 n 次方种情况,能覆盖要表示的种类数的最小 n 就是所需的比特数(ビット数)。例如 10 种时,3 比特的 8 种不够,需要 4 比特。
  • 常考增加表示一次采样(標本)的比特数,可区分的级数就会增加,能以更细的刻度表示振幅的变化。
  • 常考即使是变长(可変長)代码,只要任何一个代码都不是另一个代码的开头部分,没有分隔的序列也能从头唯一地还原。若分配各位上的 1 互不重叠的代码,就能用加法表示组合、用减法表示去除。

该术语的过去问 3 题 符号化

JIS 编码(JISコード)是由日本工业标准(JIS)规定的字符编码,英文数字等用 1 字节、汉字、平假名和全角假名用 2 字节表示。

字符集规格(例)主要字符每个字符的大小
JIS X 0201英文数字・符号・半角假名1 字节(8 比特)
JIS X 0208汉字・平假名・全角假名2 字节(16 比特)

用 1 字节表示的字符称为 单字节码,用 2 字节表示的称为 双字节码;例如英文数字的字符集由 JIS X 0201 规定,汉字等的字符集由 JIS X 0208 规定。狭义的 JIS 编码 是指在一个字符串中切换单字节和双字节字符时,插入表示切换的特殊代码的格式,主要用于电子邮件。

类比就像国家统一发放的字符编号表。使用同一张编号表的设备之间,同一个编号就指同一个字符。

记法JIS 是 Japanese Industrial Standards(日本工业标准)的首字母缩写,与日本工业产品的规格同名同源。

考点

  • 常考在 JIS 的字符编码(文字コード)中,英文数字等每个字符为 1 字节(8 比特),汉字等每个字符为 2 字节。例如在 JIS X 0201 中,单字节的英文数字被分配了 8 比特的值。
  • 常考未压缩的文字数据容量,是按项目把字符数乘以每个字符的字节数后求和,再乘以条数求得。双字节字符占用的空间是同样字符数的单字节字符的 2 倍。

该术语的过去问 1 题 JISコード

シフトJISコードShift_JIS 编码

在术语表中打开 シフトJISコード

Shift_JIS 编码(シフトJISコード)是把 JIS 中汉字等双字节字符的编号,错开到与单字节字符不重叠的范围后再分配的字符编码。

双字节字符的第 1 个字节使用单字节字符不用的值,因此读到一个值就能判断它是单字节字符还是双字节字符。它便于处理英文数字、半角假名与汉字混排的文档,在 Windows 等个人电脑的日语处理中被广泛使用。

类比就像在同一个货架上摆两类商品时,把其中一类的号码牌换到另一种颜色的号段,不放隔板也能只凭牌子颜色分辨种类。

记法shift 意为“错开”。因为把编号的位置错开了,所以叫 Shift JIS。

考点

  • 易混Shift_JIS 编码(シフトJISコード)与 Unicode 的区别在于所处理字符的范围。Shift_JIS 编码处理日语字符和英文数字,Unicode 则用一个体系处理世界上多种语言的字符。

该术语的过去问 1 题 シフトJISコード

「JIS 编码」与「Shift_JIS 编码」的区别

比较点JIS 编码Shift_JIS 编码
关键单字节与双字节字符的混合方式插入表示切换的特殊代码让双字节字符的第 1 字节取与单字节字符不重叠的值来区分
主要使用场合电子邮件个人电脑的日语处理(Windows 等)
基础字符集JIS 的英文数字及汉字等字符集同样是 JIS 的英文数字及汉字等字符集

Unicode 是给世界上多种语言的字符逐一分配编号、使其能在一个体系中处理的字符编码。

  1. 字符(例:あ)
  2. Unicode 编号(U+3042)
  3. UTF-8 字节序列(3 字节)

把分配给字符的编号转换为实际字节序列的方法称为 编码方式(符号化方式),例如 UTF-8 和 UTF-16。UTF-8 是用 1 字节表示英文数字、用 3 字节表示大多数日语字符的变长方式,在网页等场合被广泛使用。

类比就像用一套流水号管理全世界图书的图书馆。无论哪个国家的书,都能用同一本台账上的编号找到。

记法uni 意为“一个”(与 uniform、unit 中的 uni 相同)。即用一个体系表示世界文字的编码。

考点

  • 常考Unicode 是把多种语言的字符整合到共同编号体系中的字符编码,无需按语言切换字符编码(文字コード),就能在同一份文档中处理多语言字符。
  • 易混UTF-8 是用字节序列表示 Unicode 编号的方式之一,并不是字符集本身的名称。即使是同一个 Unicode 字符,在 UTF-8 和 UTF-16 中的字节序列也不同。

该术语的过去问 1 题 Unicode

「Shift_JIS 编码」与「Unicode」的区别

比较点Shift_JIS 编码Unicode
关键处理的字符日语字符和英文数字世界上多种语言的字符
每个字符的字节数1 或 2取决于编码方式(UTF-8 为 1〜4)
多语言字符混排无法表示日语以外的许多字符在一个体系中即可混排

要点

  • 编码 是按规则把信息对应到代码上,用同一规则 解码 就能还原,规则不一致则会出现乱码。
  • n 比特能区分 2 的 n 次方种情况,所需比特数由要表示的种类数决定。
  • JIS 的字符编码中英文数字等为 1 字节、汉字等为 2 字节,文字数据的容量根据这些字节数和字符数来估算。
  • Shift_JIS 编码 是把双字节字符的编号错开到与单字节字符不重叠范围的字符编码,在个人电脑的日语处理中被广泛使用。
  • Unicode 是给字符分配编号的体系,UTF-8 等编码方式负责把编号转换为字节序列。

确认题

从本单元的过去问中选 5 题

开始做确认题

查看这个领域的全部过去问