- ベストアンサー
バーコードの情報量についてです
バーコードの情報量についてです JANコードの記録可能な情報量を知りたいです。 情報量の定義がよくわかりません。 bit?byte?それ以外でしょうか? どうぞお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
JANコードをはじめとするバーコードはそもそもディジタル規格ではないので規格上は、bitとかbyteという概念は持ちません。 JANコードは他の方が書かれているように数字13桁と数字8桁の2種類しかありません(それ以外の桁数はJANコードとして認識されない)。 プログラム上等で扱う場合は大抵は半角文字(つまりbyte文字)での扱いとなるので、13byteか8byteのどちらかということになります。 (この辺りは、バーコードリーダの仕様に拠りますが) もし、英数字を使いたいのであれば、CODE39等他の種類になるかと。 また全角文字やひらがなを使いたいのであれば、マトリクス型の二次元コード(QRコード)になります。 (QRコード以外のバイナリを扱える二次元コードもありますが、仕様上は日本語を扱えるとはなっていません。これは2byte文字自体が世界共通では無いため)
その他の回答 (3)
- yama1718
- ベストアンサー率41% (670/1618)
補足です、レジで商品名や金額が出るのは、 レジがバーコードと商品のデータを照合して表示しているからです また13桁には国コードやメーカーコード、商品アイテムコードなど区分けされており、 今でも新商品が販売されているのに、たった13桁で足りているのは、 販売が終了した商品コードを再利用しているからです。 店舗内で同じバーコードがダブらなければ問題はないので。 ですのでレジで古い商品のバーコードを読ませると、別の新商品の表示が出る事もあります。
お礼
再利用のことまではしらなかったです! 補足、ありがとうございます^^
- Yorisin
- ベストアンサー率54% (364/663)
バーコードはコーディングによって情報の取り方が変わるのでJANコードに絞ります。 JANコードは8ないしは13桁で表されます。 一桁は十進数0~9の数値なので強引に計算すると 8桁:1億パターン ≒ 27bit強 ≒ 3bytes強 13桁:10兆パターン ≒ 43bit強 ≒ 5bytes強 となります。 (計算あっているかな?) 実際には末尾はチェックディジットなので 純粋な情報量としては 8(7)桁:1000万パターン ≒ 24bit弱 ≒ 3bytes弱 13(12)桁:1兆パターン ≒ 40bit弱 ≒ 5bytes弱 でしょうか。
お礼
わざわざ計算までしてくれて、ありがとうございます!! 感謝します^^
- yama1718
- ベストアンサー率41% (670/1618)
バーコードの基礎についてはこちらを http://www.keyence.co.jp/barcode/basic/ 13桁が標準で8桁の短縮形式もあります。 情報量は数値の桁です、英字も使用できません。
お礼
わかりやすいサイトですね ありがとうございます^^
お礼
とてもわかりやすい説明です!これでなんとかなりそうです ありがとうございます^^