« 2005年03月 | メイン | 2009年07月 »
2007年02月19日
ISBNの13桁化
今年(2007年)の1月から従来10桁だったISBNが13桁に拡張された。拡張の仕方は単純で頭に978を付け、最後の桁のチェックデジットを再計算するだけでよいらしい。10桁のISBNと13桁のISBNを相互変換する関数が欲しくて CPAN を探すと、 Business::ISBN というぴったりのモジュールがあった。
use Business::ISBN qw( isbn_to_ean ean_to_isbn ); $isbn_10="4873113008"; $isbn_13=isbn_to_ean($isbn_10); # 旧ISBN ---> 13桁ISBN $isbn_10=ean_to_isbn($isbn_13); # 13桁ISBN ---> 旧ISBN13桁のISBN は EANコードと一致するのだ。
早速、「古代ローマ/書籍案内」で使っているプラグインに組み込んで ISBN: の後の10桁の番号を 13桁化して表示するようにした。これで各ページを個別に修正しなくてもよくてラッキーだ。
なお、13桁化したISBNはEANコード(日本ではJANコード)と一致するので、本の裏表紙などに印刷されているバーコードのうち上の方(978から始まるもの)がそのままISBNとなっている。