首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ISBN10和ISBN13应该使用哪种数据类型?

ISBN10和ISBN13应该使用哪种数据类型?
EN

Stack Overflow用户
提问于 2016-02-03 04:59:04
回答 2查看 1.4K关注 0票数 1

根据ISBN10的算法,校验数字可以是X,这意味着它可能不是一个数字。但是google的输出:https://www.googleapis.com/books/v1/volumes?q=isbn:xxx使用ISBN10和ISBN13的整数类型。为什么?

P.S.:以下是google输出的一部分:

代码语言:javascript
复制
industryIdentifiers =                 (
                        {
        identifier = 7542637975;
        type = "ISBN_10";
    },
                        {
        identifier = 9787542637970;
        type = "ISBN_13";
    }
);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-03 06:06:35

理论上,ISBN-10本应在2007年被ISBN-13所取代.显然,对于已经售出的出版物来说,这是不可能的,而且一些出版商仍然保持ISBN-10,而不是改为ISBN-13 (就像一些制造商保持UPC-A而不是EAN-13或GSi一样)。

要将USBN-10转换为USBN-13,只需取USBN的前9位数字,将其前缀为978,然后使用标准EAN算法计算检查数字。使用13位数字的结果作为您的键定位项目(作为64位无符号整数)。

您始终可以通过删除前3位数字和校验位来提取ISBN-10,并使用ISBN-10算法重新计算检查字符。

这样,你只需要记录13位数字的版本.如果您有一个ISBN-10 (由扫描仪读取)或您需要生成一个ISBN-10 (无论出于什么目的),这只是一个应用适当的转换算法的问题。

根据您的申请,您可能希望考虑如何处理ISMN (音乐)或ISSN (期刊)号码。期刊问题更大。条形码扩展通常会产生一个月或一个星期的发布,但是-13版本保持不变。对于卖家或诸如此类的商品来说,这是可以接受的,因为-01将是1月,而在接下来的1月份,当使用同样数量的商品时,这些商品将完全过时(因此不再有更多库存)。但不太适合像图书馆这样的档案功能.

票数 2
EN

Stack Overflow用户

发布于 2016-02-03 08:48:16

谢谢大家给出的有用答案。我终于发现google的原始响应是字符串格式的。就因为我的json打印机,它就像个整数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35168817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档