Amazon.co.jp には ASIN*1を利用して検索しています。13 桁の ISBN 場合は 10桁の ASIN に変換して検索しています。アルゴリズムは
International ISBN Agency - The ISBN Users' Manual http://www.isbn-international.org/en/manual.html English ISBN Users' Manual as a PDF-Document Last update: 26th March 2002 ISBNmanual.pdf P13 7.6. Algorithm for reconstructing the ISBN from the EAN 上記のアルゴリズムを参考に作成した関数 - (NSString *)convertFromEANTo10ISBN:(NSString *)eanStr;
を利用しています。注意)これが正しい方法なのか自信はありません。
Bookland EAN と 13桁の ISBN が等しい関係を用いて、EAN*2 (13桁 の ISBN) から 10桁の ISBN を上のアルゴリズムを使って算出し、Amazon.co.jp から検索しています。(10 桁の ISBN と ASIN は等しい。)
また、今回は利用していませんが 10桁の ISBN から Bookland EAN (13桁の ISBN) を算出する関数も追加しておきました。参考になる資料が2つあったので別々に作成しておきました。
資料. 1 13桁ISBN“国内標準ガイドライン”追補版 http://www.isbn-center.jp/whatsnew/guideline060424.html 上記URLに記述してあるアルゴリズムで作成した関数 - (NSString *)convertFrom10To13ISBN:(NSString *)isbn10Str;
資料. 2 International ISBN Agency - The ISBN Users' Manual http://www.isbn-international.org/en/manual.html English ISBN Users' Manual as a PDF-Document Last update: 26th March 2002 ISBNmanual.pdf P12 7.5. Algorithm for generating the Bookland EAN from the ISBN 上記のアルゴリズムを参考に作成した関数 - (NSString *)convertFrom10ISBNToEAN:(NSString *)isbn10Str;