« mimeTeX (WEB上での数式の表示) | メイン | USBメモリのシリアル番号の取得 »

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 ---> 旧ISBN
13桁のISBN は EANコードと一致するのだ。

早速、「古代ローマ/書籍案内」で使っているプラグインに組み込んで ISBN: の後の10桁の番号を 13桁化して表示するようにした。これで各ページを個別に修正しなくてもよくてラッキーだ。

なお、13桁化したISBNはEANコード(日本ではJANコード)と一致するので、本の裏表紙などに印刷されているバーコードのうち上の方(978から始まるもの)がそのままISBNとなっている。

投稿者 augustus : 2007年02月19日 18:47

コメント

コメントしてください




保存しますか?