web-dev-qa-db-ja.com

GS1 FNC1キャラクターの実際のHEX /バイナリ値は何ですか?

私はウィキペディアで公式のGS1仕様のページをたくさん検索しましたが、質問に対する明確な答えはまだ見つかりません

GS1 FNC1文字の実際のHEX /バイナリ値は何ですか?

GS1識別子の使用方法、ZPLでバーコードを印刷する方法、FNC1をエンコードする方法については多くの情報がありますが、その文字の実際のHEX値を知りたいです。

12
F.P

FNC1からFNC4などの特殊機能文字には、直接のASCII表現はありません。このような文字をサポートする各記号体系は、バイト指向とはまったく異なる内部表現でエンコードするための異なるスキームを持っています文字データ。

FNC文字は、フラグ文字(読者に特別な何かを示す)と書式文字(エンコードされたデータ)。そのため、ホストシステムが基本的なバーコードリーダーから受信したデータで直接送信することは意図されていません。

各FNC文字の通常の目的は次のとおりです。

  • FNC1-構造化データフラグ文字GS1およびAIMフォーマットを示すANDグループ区切り文字書式文字などの用途があります。
  • FNC2-メッセージを追加フラグ文字で、1回の読み取りでシンボルのグループにデータをバッファリングします。
  • FNC3-デバイス設定用のリーダープログラミングフラグ文字
  • FNC4-序数で文字をエンコードするための拡張ASCIIformatting character 128〜255。

それらは特定のバーコード記号ですべて利用可能であるとは限らず、異なる、非標準的なまたはオーバーロードされた方法で指定される場合さえあることに注意してください。

シンボルの内部データでFNC文字をエンコードするには、エンコードソフトウェア固有の「エスケープメカニズム」を使用します。たとえば、データ「(01)00312345678906(21)123456789012(30)0144」)の典型的なGS1構造化データロールでFNC1を使用するには、FNC1文字が{FNC1}としてエスケープされ、入力が{FNC1}010031234567890621123456789012{FNC1}300144のようになる場合があります。ただし、ライブラリごとにこれらのデータ以外の文字を受け入れる方法は異なり、一部のライブラリでは必要な文字を自動的に挿入することもあります。

バーコードをスキャンすると、通常、シンボルの内部データがデコードされ、Latin-1文字エンコーディングに従って解釈される一連のバイトとして基本チャネル(キーボードウェッジなど)を介してホストに送信されます。 FNC文字はこのような方法で表すことはできず、データストリームから除外されますが、データに対する書式設定効果は残ります。

たとえば、ほとんどのシンボル体系の標準では、FNC1文字がその役割でGS1 Application Identifier Standard Formatに準拠するデータのフィールドセパレーターとして使用されている場合、デコードしてGS(ASCII 29)として送信する必要があると規定されています。明示的に述べると、GS1アプリケーションIDの区切り文字として使用されるFNC1文字のフォーマット効果は、可変長フィールドの末尾にGS文字を配置することです。しかし、他の役割(FNC1が「最初/ 2番目の位置」でフラグ文字として使用され、非GS1形式のデータが使用されている場合など)には、運ばれたデータにフォーマット効果がないため、デコード中にASCII表現がありません。

データにフォーマット効果を持つ特殊機能文字の別のインスタンスは、FNC4を使用して7ビットからリーチを拡張する記号体系ですASCIIに拡張ASCII この答え で説明されています。

微妙な技術的なポイントは、ホストに転送されるデータには、多くの場合、データが読み取られるシンボルのタイプと使用法を示す「シンボロジー識別子」と呼ばれる短いシンボルインジケータヘッダーが前に付いていることです。これは、シンボルデータ内のその他の非表示フラグ文字の存在によって変更されることがよくあります。たとえば、「FNC1が最初」のGS1形式のデータの存在を示したり、FNC3がシンボルのどこかにある場合にリーダープログラミングモードを示したりします。詳細は記号固有です。

21
Terry Burton

重要なのは、最初の位置のFNC1文字がISO/IEC 15424に従って記号識別子に変換されることを知る(およびスキャナーを正しくセットアップする)ことです。記号識別子の修飾子mは、FNC1があったかどうかを示します。これを行わないと、アプリケーションはGS1構造が意図したものかどうかを確認できなくなります。他の構造は、例えば、データマトリックスコード内のマクロ06(ISO/IEC 16022、ISO/IEC 15434)。データを処理するための正しいアクションを実行するには、違いを理解する必要があります。

1