根據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 –