国际刊号ISSN的组成、编码规则、校验位的算法
由于正在开发连续出版物管理系统(期刊)特意搜索了下ISSN相关知识,结果发现天下文章一大抄。有些算法搞错了会误人子弟的。现整理一份。
国际刊号的组成
国际标准连续出版物号ISSN由前缀ISSN 和8位数字组成。ISSN与8位数字之间空半个汉字空。8位数字分为两段,每段4位数字,中间用半字 线“-”隔开。
ISSN校验位算法
以ISSN 0317—8471为例
- 取ISSN的前7位数字(校验位是第8位,即
最后1位)
0 3 1 7 8 4 7
- 取各位数字所对应的加权值(8—2)
8 7 6 5 4 3 2
- 将各位数字与其相应的加权值依次相乘
0 21 6 35 32 12 14
- 将乘积相加,得出和数
0 +21 +6 +35 +32 +12 +14 =120
- 用和数除以模数11,得出余数
120÷11 , 余10
- 用模数ll减余数,所得差数即为校验码的
值
11—10=1
- 将所得校验码数值放在构成ISSN的基本数
字的最右边
0317—8471
如果差数为10,校验码则以大写英文字母“X”表示;如果余数是“0”,则校验码为“0” 。
EAN第13位校验位求法:
从代码位置序号2(从右开始数起,检验位为序号1)开始,所有偶数位的数字代码求和。
- 将偶数位之和乘以3。
- 从代码位置序号3开始,所有奇数位的数字代码求和。
- 将步骤2和步骤3的结果相加。
- 用10减去步骤4所得数值的个位数,所得余数为校验码。当步骤5所得的个位数为零时,检验码为0。
以《青年记者》EAN为例:9771002275024。校验位为4通过以下步骤求得:
1.偶数位求和 :2+5+2+0+1+7=17
2.偶数位之和乘以3 :17×3=51
3.奇数位求和 :0+7+2+0+7+9=25
4.51+25=76
5.10—6=4
日刊(或一周内出版若干期) :一周内每日出版的出版物,应被认作一个单独的物品,并且必须在EAN13位码中给予不同的识别号。在典型的EAN方式中,一周内每一不同的期号都要求有一个单独的编号。附加码仅被用于代表每周的顺序,并按期刊的编号编制。
周刊 :从01~53编号(以每年的周号编号) ; 双周刊(半月刊):从02,04,06……52或01,03,05……53;
月刊 :从01~12编号(以每年的月份数编号); 特别月刊:在一年中的任何时候,如有增刊出版,应在通常的月份数字值上加20,如夏季特刊,封面日期是6月,编号就应该是26,12月特刊的编号应为32。如一个月中有一个以上的特刊要出版,那么第二期特刊应该在月份的数字上加40,第三期加60,以此类推。
双月刊 :按出版月份而定,单月出版附加码为01,03……11,双月为 02,04……12;
季刊 :编号数字要根据第一个销售月份的数字再加01,如1、4、7、10 月出版,附加码为02,05,08,11;
季节性出版物的规则与季刊相同;
连续出版物的规则与季刊相同。
连续出版 :使用该刊编号的最后两位。如第10卷第8期,编号为08 ;第3982期,编号为82 ;第11卷123期,编号为23。要注意的是,由于编号在一年内不得重复,所以要当心封面日期的变化。
特别出版物 :使用销售月份的数字(不可加01)。与特别月刊要区别对待。
无期刊编号要求的出版物:如出版物不适用以上的方案,又不能作为图书使用ISBN号,其期号就应该是01,该年度随后的期号应是每加出一期都要在前面的号上加1。
细心的朋友会发现期刊除了 ISSN 外还印刷了 期号如09 不过扫描枪是扫不出期号的。
-
EAN条码转换ISSN
既然了解了编码规则那么EAN自动转换为ISSN嘛 回答是肯定的。看下面的图
思路就是EAN条码从第四位取到第十位 然后组配成0211-915格式 算出校验位3 最后得到0211-9153 即ISSN。如果有批量转换的需求可以联系本公司。
国际刊号条码的印刷
1.条码印刷位置。条码应印刷在期刊封面(不是封底)的左下角,与书脊和封面底部边缘的距离为1厘米。如有特殊要求,也可选择封面的其它位置。
2.条码的缩放倍率。条码的缩放倍率在90%~200%之间。
3.条码印刷的颜色。一般应用黑色印刷,如不可能,可选蓝、绿、棕色。条码图案的底色应选白色,如不可能,可选黄、红、橙色。
4.条码一定不要印在其它图案上,否则扫描设备无法对其准确识别。