javaee论坛

普通会员

422

帖子

246

回复

690

积分

楼主
发表于 2022-06-24 09:38:36 | 查看: 1200 | 回复: 0

 每本书的封底都有一串号码,比如7-5600-3879-4,它叫做“国际标准书号”(缩写ISBN)。它是全世界图书的编码,用来唯一代表一本书,有关ISBN条码的制作可以参考:浅谈ISBN条码和ISSN条码的区别。

wps_clip_image-10663.png

国际标准书号一共有10位,一次分为4个区。

第一区是语言区,表明这本书是哪个国家出版的。0或1表示英语国家,2表示法语国家,3表示德语国家,4表示日本,5表示俄语国家,6表示伊朗,7表示中国大陆,89表示韩国,957和986表示台湾,962和988表示香港,99936表示不丹。想要了解更多国家和地区编码可以到条码生成软件网站查找相应的教程。

第二区是出版社代码,用以识别出版社,由各国出版主管机构分配。

第三区是出版物序号,由各个出版商分配。

第四区是一个个位数的校验位,用来核对前9位数字。它的计算方法是:用1-9这9个数依次乘以前面的9位数,然后求他们的和除以11的余数。

比如开头提到的国际书号7-5600-3879-4,它的前9位数是7、5、6、0、0、3、8、7、9.它的校验码计算如下:

1*7+2*5+3*6+4*0+5*0+6*3+7*8+8*7+9*9

=7-10+18+0+0+18+56+56+81

=246

=242+4

=22*11+4

因此,这本书的校验码是4。

从ISBN的构成规则,可以看出,它的有效数字最多只有9位,也就是说最多只能容纳10亿种书。这显然是不够的。于是,国际化标准组织规定,从2007年1月1日,国际标准书号升级为13位,现有的出版机构在其出版物前加上一个三位数字的前缀“978”,新成立的出版机构则加上前缀“979”,之所以规定新ISBN为13位,是为了与国际条形码编码EAN-UCC系统接轨,因为超市在商品条形码都为13位。

13位ISBN的校验码计算法则是这样的:前12位依次乘以1和3,然后求他们的和除以10的余数,最后用10减去余数,就得到了校验码。

9*1+7*3+8*1+7*3+5*1+6*3+0*1+0*3+3*1+8*3+7*1+9*3

=9+21+8+21+5+18+0+0+3+24+7+27

=143

=140+3

=14-10+3

10-3=7

所以,在13位ISBN中,这本书的校验码应该为7,好在原有图书的10位ISBN在新规则下可以保持不变。

国际标准书号校验码的计算公式

校验码C10由前9位数字(C1-C9)依次以10~2的加权之和并以11为模数,按下面的公式计算得到

式中的MOD为求余函数

当MOD函数值为1(C10=10)时,校验码以X表示,当MOD函数值为0(C10=11)时,校验码仍以0表示。

以上就是有关国际标准书号的介绍,条码生成软件支持多种条码码制,有需求的用户,可以下载软件,根据自己的需求制作相应的条形码。



您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017