• ベストアンサー

チェックディジットの位置について

Code39でコード設計を行っていますが、これはチェックディジットが必須ではありません。 あえてチェックディジットを入れるとして、これは末尾に入れる必要があるのでしょうか? 他のコード体系をみると、大抵は末尾についていますが、真ん中や先頭ではまずいのでしょうか。 変な質問で恐縮ですが、ご存じでしたら教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • 6dou_rinne
  • ベストアンサー率25% (1361/5264)
回答No.1

コード39についてはJIS X 0503で定められていますが、チェックデジット(データチェックキャラクタ)については、附属書A.1.2.に「データ文字列最後のキャラクタとして、復号器によって伝送される」とありますので末尾に入れるべきでしょう。 まぁ、自分だけが勝手に使用するだけのバーコードであれば真ん中だろうと先頭だろうと自由ですが、そうでなければ正しくバーコードの読み取りができないでしょう。

niporin
質問者

お礼

お礼がすっかり遅くなってしまい、大変失礼しました。 色々試した結果、確かにどこにあっても認識はしているので実用上問題はなさそうですが、他の規格に変更する場合のことなどを考えると、後ろに付けておくのがベターという結論に達しました。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • チェックデジットについて

    CIAという試験の勉強をしているのですが、以下の問題が理解できず困っています。 ご教授願います。 (問題) 入力統制のうち、元々あった数値データの加工もしくは転送中に変化していないかを確認するために、何らかの計算を施された数値データは次のどれか A ハッシュトータル B パリティチェック C 暗号化 D チェック・デジット (解答) D (解説) チェックデジットとは、ID番号末尾に追加する桁のことで、データ加工・転送等によってデータが変化していないかどうかを確認する入力統制であり、正解はD ハッシュトータルは、データ項目の合計に関連するチェックであるので、Aは誤り。 パリティチェックは、各キャラクターに1ビット分付加し、ハードウウェア内でのキャラクター転送によりこのビットが失われていないかを確認するプロセスであるので、Bは誤り。 暗号化はセキュリティー保持のための処理であり、入力統制ではないのでCも誤り。 (質問) チェックデジットは、入力エラーを防止するためのものと私は理解しています。 解説では、「データ加工・転送等によってデータが変化していないかどうかを確認する入力統制」とされています。 この点がイメージできません。 パリティチェックやハッシュトータルの方が正解になるような気がしているのですが・・ よろしくお願いします。

  • チェックデジットを付加したデータを生成したい。

    MSアクセス2000を使用しています。 アクセス初心者なので、的はずれなことも言っているかもしれませんが、よろしくお願いします。 13桁のバーコードデータを作成したいのですが、必要なのは数値だけで、バーコードそのものは必要ありません。 たとえば、12桁の商品番号と、商品名だけで構成されるデータがあったとして、商品番号からチェックデジットを計算し、新たな項目にチェックデジット付きのデータを入れてくれるような方法はないでしょうか? また、使用するソフトは、アクセスだけでなくても構いません。エクセルや他のソフトを使ってチェックデジット付の数値のみのデータを取得する方法を探しています。 よろしくお願いします。

  • JANコードのチェックデジットを調査

    いつもお世話になっております。 エクセルファイルに13ケタ・8ケタのJANコードを羅列した行があるのですが、手作業で入力した為、間違っている可能性があります。 そこで、チェックデジットが合っているかを調べる数式を作成したいと思うのですが、そのようなことは可能でしょうか? また、8ケタと13ケタを1度にチェックできるでしょうか? ご存知の方がいらっしゃったら、宜しくご教授お願い致します。

  • メールアドレスのチェック

    質問させてください。 メールアドレスの正当性チェックを作成してみようと思いました。 (1)"@"より左側の部分は3桁以上16桁以内 (2)使用可能文字は、英小文字,数字,'-', '.', '_' (3)先頭文字は英小文字のみ (4)先頭・末尾文字に'-', '.', '_'は使用不可 (5)数字のみ'_', '.', '-'のみのアドレスはだめ --------------------------------------- $value = "xxxxxx@****.com"; $flg = 0; $address = split("@", $value); //****(1)****// if((strlen($address[0]) > 16) || (strlen($address[0] < 3)){ $flg = 1; } if($flg == 0){ echo("このアドレスはつかます"); }else{ echo("このアドレスはつかえません"); } ------------------------------ と、チェックの(1)しかわからないのですが、 (2) ~ (5)のアドバイスを下さい。 宜しくお願い致します。

    • 締切済み
    • PHP
  • (固定)電話の電話番号(末尾の連番)は存在する?

     例えば、自分の電話番号が、03-123-4567 の場合、    03-123-4560       - …    03-123-4569 の、他の9つの番号は、実在する(可能性)は有るのでしょうか?  また、同様に、局番が増えた後の、03-****-1234 の場合は、 末尾が、0 ~ 9 の番号は実在する可能性は?  末尾の数字が、チェックディジット(バーコードや ISBN の ように)として使われているのなら、飛び番になると思いますが。  また、携帯の場合はどうなんでしょうか。  間違い電話を掛けたり、掛かってきた場合の番号違いの可能 性について疑問に思ったのですが、単なる押し間違いなのかど うか。

  • エクセルのチェックボックスについて

    エクセルで、フォームにて下記のようなチェックボックスを作りました。(Exel2003) □あいうえお □かきくけこ □さしすせそ □たちつてと そこで、チェックを入れた項目の文字だけを抽出して、他のセルに、上から順番に表示させることは可能でしょうか?(他のセルは、複数、一つを問いません) さらに欲をいうと、下記のように、抽出した項目の、上から順番に、項目の先頭に番号がふられるとうれしいのですが、このようなことは可能でしょうか? 例:か行とさ行にチェックを入れた場合 (1)かきくけこ (2)さしすせそ チェックしたものから抽出できるだけでも結構ですので、何かご存知の方がいらっしゃいましたら、何卒よろしくお願いいたします。

  • チェックデジットについて

    一覧番号の桁数の中にチェクウデジットを設けようという話が合った場合に、仕様決めからプログラミングでのチェックの仕方まで、どのような段取りで進めれば良いか解りません。(初めて使うので) 知りたいこと。     1.チェックデジットの仕様の決め方。(最重要)   2.決めたらそれをどのようにプログラミングに落としていくのか。   3.チェックの仕方。   ※尚、開発言語はJAVAです。 解る方、やさしく、詳しく教えてください。

    • ベストアンサー
    • Java
  • チェックデジットについて

    CIAという試験の勉強をしているのですが、下記の問題が良くわからなくて困っています。 正解は選択肢2、3です。 選択肢2、3が正解なのは理解できました。 しかし、選択肢1がどのようなことを言っているのがイメージがつかなくて困っています。 どなたがご教授願います。 (問題) カタログ販売会社が注文とは違う商品を顧客に発送するという事態が頻発している。 多くの顧客は電話で注文をし、その注文を受けた後、オペレーターはすぐに注文システムにデーター入力している。 これが適正に行なわれない場合、この問題に対して有効な統制手続は次のどれか。 (選択肢) 1 コンピューターに、注文の連番を自動的にそれぞれの顧客注文に割り当てさせる 2 それぞれの製品番号に対し、チェック・デジットを組み込み、製品番号による入力を要求する 3 製品番号による入力を要求し、コンピューターのプログラムに製品と価格を特定させ、顧客との製品内容についての口頭での確認をオペレーターにさせる

  • チェックディジット?

    チェックディジット? 40757851-0 40757852-8 40757853-6 40757854-4 40757855-2 上記の様な番号を会社で使っているんですが 左8桁(ハイフンから左側)は 見て頂くとわかるようにただカウントしていってるだけなのですが、 一番右の1桁(ハイフンの右側)の番号にどういう規則があって算出されてるのか知りたいのです。 私なりにインターネット等でいくつかのチェックディジット? の算出方法で試しても合いません・・・ 下手な文章で分かりづらいとは思いますが、 どなたかお分かりの方教えていただけないでしょうか?

  • 全角スペースのチェックについて

    こんにちは。 全角スペースについてのご質問です。 ある入力項目に対して必須チェックを行っております。 下記のコードはServlet内で以下のチェックを行っております。 ---------------------------------------------------------------- String name = req.getParameter("name"); bean.setName(name); if(bean.name().trim().length() == 0 || bean.name() == null){ return NO_INPUT_ERR; } ---------------------------------------------------------------- このチェックでは半角スペース『 』であればエラーとして判断してくれますが、 全角スペース『 』ではエラーとして判断してくれません。 (全角スペースはtrim()を実行しても省いてくれないため) 全角スペース『   』の判断をする場合は、 新規にクラスを作成して文字数分繰り返しチェックを入れるような処理を 自分で作成しないとチェックは出来ないのでしょうか? ご存知の方がおりましたら、ご教授の程お願い致します。

    • ベストアンサー
    • Java