根据ISBN10的算法,校验位可以是X,也就是说,它可能不是数字。 但是google API的输出:https://www.googleapis.com/books/v1/volumes?q=isbn:xxx对于ISBN10和ISBN13使用整数类型。为什么?哪种数据类型应该用于ISBN10和ISBN13?
PS: 以下是谷歌API输出的一部分:
industryIdentifiers = (
{
identifier = 7542637975;
type = "ISBN_10";
},
{
identifier = 9787542637970;
type = "ISBN_13";
}
);
ISBN-10的最后一位实际上是以11为基数; X表示10.您可以想出一种方法来将整个事件保存在一个整数中,但您需要使用64位整数,因为11 * 10^10> 2^32。或者你可以使用一个字符串,因为在阅读ISBN时你可能只需要检查一次有效性。 –
谢谢Daniel。我现在明白了。但是有没有人知道一个真正的ISBN-10与X和结束?我真的很想知道在这种情况下,谷歌API的输出是什么?以及我的JSON解析器将如何发展? –
“'Book of Days'by Sara Reinke,ISBN 1-55404-295-X” - http://www.mobileread.com/forums/showthread.php?t=149033 –