奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 85 页

PDF 物理页索引 101 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
85
PDF 物理页
101(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
c5f2a8ec2d6148e3420f249088ddb3d871d70110f8d0fa30348712859ad8641c

破解右边的6组7位编码要用到下表。

右边的编码

$$
1 1 1 0 0 1 0 = 0 \quad
$$

$$
1 0 0 1 1 1 0 = 5
$$

$$
1 1 0 0 1 1 0 = 1
$$

$$
1 0 1 0 0 0 0 = 6
$$

$$
1 1 0 1 1 0 0 = 2
$$

$$
1 0 0 0 1 0 0 = 7 \ \AA
$$

$$
1 0 0 0 0 1 0 = 3
$$

$$
1 0 0 1 0 0 0 = 8
$$

$$
1 0 1 1 1 0 0 = 4
$$

$$
1 1 1 0 1 0 0 = 9
$$

这些编码都是之前编码的补码:之前出现0的地方,现在都换成了1,反之亦然。这些编码都是以1开头,以0结尾的。除此之外,每组编码都含有偶数个1,属于偶校验。

现在,我们就可以解读UPC了。运用以上两个表格,我们可以确定,Campbell公司的103/4盎司罐装鸡汁面汤包上的12个数字为:

0 51000 01251 7

太令人失望了。就如你所看到的,这与UPC下面印刷的数字完全相同(这样做是很有意义的,在扫描仪由于某种原因无法解读出条形码时,收银员就可以手动输入这些数字,毫无疑问你也看到过这一幕)。我们没有必要了解解码的全部过程,况且,我们也无法从中解码出任何秘密信息。不过,关于UPC的解码工作已经没有什么可做了,那30根竖条已经变成了12个数字。

第一个数字(在这里是0)被称为数字系统符。0意味着这是一个常规的UPC。如果UPC出现在杂货店中那些需要称重的商品上,例如肉、农产品,这个编码就会是2。票券的UPC的第一个数字通常是5。

接下来的5个数字表示制造商编码。这种情况下,51000就是Campbell公司的编码。所有Campbell公司的产品都有这个编码。后面的5位代码(01251)是这个公司的某种商品的编码,上例中这个数字就是指103/4盎司罐装鸡汁面。只有和制造商编码同时出现的时候这个编码才有意义。另一个公司的鸡汁面会有另外一个编码,01251在另外一个公

9 二进制数

85