« CEEK.JP Labs をはじめました | メイン | 自炊ではない »
2004年11月04日
ISBN のチェックサム
978 から始まるバーコードは ISBN なのですが、ヘッダ情報がくっついていて邪魔です。ということで、ヘッダ情報を除くコードを Perl で書いてみました。これでバーコードから ISBN を算出できる!
まぁ。全然すごいことではないけどね。単に ISBN のチェックサムを算出してくっつけるだけ。
if ($code =~ /^978(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)/) { my $c = ($1 + $2 * 2 + $3 * 3 + $4 * 4 + $5 * 5 + $6 * 6 + $7 * 7 + $8 * 8 + $9 * 9) % 11; if ($c == 10) { $c = "X"; } $code = $1 . $2 . $3 . $4 . $5 . $6 . $7 . $8 . $9 . $c; }
$code には、対象となるバーコードの数字が入っているものとします。なんか、とっても汚い書き方かも。
EAN(JAN)は、変換できませんので。書籍の下側のバーコードのことね。今回のは、上側のバーコードのみ対応。
2004年11月04日 03:21 | Programming