2016-06-24 10 views
1

私はこの分野で新しく、支払いゲートウェイに取り組んでいます。iso8583メッセージで使用されるパックされたバイナリデータとアンパックされたバイナリデータの違いは何ですか?ISO 8583メッセージのパックバイナリデータとアンパックバイナリデータは何ですか?

+2

https://en.wikipedia.org/wiki/ISO_8583#Bitmaps。ビットマップは、8バイトのバイナリデータとして、またはASCIIまたはEBCDICキャラクタセットの16進数の0-9、A-Fと​​して送信されます。また、良い質問をしてよい回答を得る方法をお読みください。また、これは 'Java'とどのように関連していますか? –

+0

申し訳ありませんが、どこで私はそれがjavaに関連していると言いましたか?私はバイナリパックとアンパックデータについて質問していましたか?ビットマップではない...! – Shailesh

+0

'java'タグを追加しました。 –

答えて

1

ISO8583のスキーマ定義ファイルはhttp://dfdlschemas.github.io/ISO8583にあります。 ISO8583_1993.xsdでは、それは言う:だから

* This DFDL schema provides a DFDL model for ISO8583 1993 binary data 
* where each bitmap in the message is encoded as 8 bytes of binary data 
* (8 bits per byte). The bitmaps are said to be 'packed'. 

、「パック」という用語は、パックまたはアンパックのいずれかになりますビットマップを指します。 en.wikipedia.org/wiki/ISO_8583#Bitmaps

、それは>ビットマップは、バイナリデータの8つのバイトとして、または16進数として送信されても​​よい

言う文字0-9、A-F ASCIIまたはEBCDIC文字セットです。バイナリデータをパック・データ構造において

は、通常より多くの(すべてではない場合に利用可能な)ビットの組み合わせは、いずれかの読みやすさを改善するために、または特定するために、いくつかのビットの組み合わせは未使用のままアンパック手段ながら、いくつかの値を符号化するために使用されることを意味します計算は簡単です(しかし、展開されたデータはより多くのスペースを必要とします)。

たとえば、符号なしbyte(8ビット)の1つは、0〜255の数値をエンコードできます。数値がBCDでエンコードされている場合、0〜99の数字のみを表し、一部のビットの組み合わせは未使用のままです。ただし、BCDでエンコードされた数値をバイナリでエンコードされた数値よりも計算する方が簡単な場合もあります。二つの異なるエンコーディングに(16進数文字として16バイトであるが、それは別の態様であるバイナリデータの8バイト

  • アンパックで充填

    • :要約

      、ISO 8583は、二つの異なるエンコーディングを定義します)。

    1つの明らかな違いは、ロケール、あなたがコンソールにこのデータをダンプするとき、バイナリエンコーディングは、あなたのコンソールに応じて、いくつかのガベージ文字を印刷する一方、あなたはすぐに、16進数としてアンパックデータを読み取ることができるということであり、あなたがインストールしたフォントが表示されます。

  • +0

    は、ビットマップがバイナリの形であれば、長さが8バイトになり、16進数であれば16バイトになります。 – Shailesh

    +0

    それはリンクされた記事が言っていることによると私の理解です。 –

    関連する問題