2016-06-24 3 views
1

Ich bin neu in diesem Bereich, und arbeiten an Zahlung Gateway, bitte sagen Sie mir, was ist der Unterschied zwischen gepackten und entpackten Binärdaten in iso8583 Nachricht verwendet ...!Was sind die gepackten Binärdaten und die entpackten Binärdaten in der ISO 8583-Nachricht?

+2

https://en.wikipedia.org/wiki/ISO_8583#Bitmaps. 'Die Bitmap kann als 8 Byte Binärdaten oder als 16 Hexadezimalzeichen 0-9, A-F in den ASCII- oder EBCDIC-Zeichensätzen übertragen werden. Bitte lesen Sie auch [ask], wie Sie gute Fragen stellen, damit Sie gute Antworten erhalten. Wie verhält es sich mit Java? –

+0

Tut mir leid zu sagen, aber wo habe ich erwähnt, es ist mit Java verwandt. und ich fragte nach binären gepackten und entpackten Daten? nicht die Bitmap ...! – Shailesh

+0

Sie haben das 'java' Tag hinzugefügt –

Antwort

1

Die Schemadefinitionsdateien für ISO8583 sind unter http://dfdlschemas.github.io/ISO8583 verfügbar. In ISO8583_1993.xsd heißt es:

* 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'. 

So wird der Begriff „verpackt“, um die Bitmaps bezieht, die mit oder ohne Verpackung sein kann.

In en.wikipedia.org/wiki/ISO_8583#Bitmaps, heißt es

Die Bitmap kann als 8 Bytes von binären Daten oder als hexadezimal 16 übertragen wird> Zeichen 0-9, A-F im ASCII- oder EBCDIC-Zeichensätzen.

In Datenstrukturen, binäre Daten verpackt in der Regel bedeutet, dass mehr (wenn nicht alle verfügbar) Bitkombinationen einige Werte werden verwendet, um zu kodieren, während entpackten bedeutet, dass einige Bitkombinationen ungenutzt bleiben, entweder die Lesbarkeit zu verbessern oder um sicherzustellen, Berechnungen einfacher (aber entpackte Daten benötigen mehr Platz).

Zum Beispiel kann ein unsigned byte (8 Bits) Zahlen von 0 bis 255 codieren. Wenn die Zahlen BCD-codiert sind, können nur Zahlen von 0 bis 99 dargestellt werden, und einige Bitkombinationen bleiben unbenutzt. Es ist jedoch in einigen Fällen einfacher, Berechnungen auf einer BCD-codierten Zahl als auf einer binär codierten Zahl basieren zu lassen.

Zusammengefasst ISO 8583 definiert zwei verschiedene Codierungen:

  • verpackt, die 8 Bytes von binären Daten ist
  • ausgepackt, die 16 Bytes als hexadezimales Zeichen sind (in zwei verschiedenen Codierungen, aber das ist ein weiterer Aspekt).

Ein offensichtlicher Unterschied ist, dass, wenn Sie diese Daten an eine Konsole Dump, können Sie sofort die entpackten Daten als hexadezimale Zahlen lesen, während die binäre Codierung nur einige sinnlose Zeichen gedruckt werden, auf der Konsole je nach Ihrem Standort und die Schriftart, die Sie installiert haben.

+0

bedeutet immer, wenn das Bitmap in der Form von binären es wäre von Länge 8 Bytes und wenn es in hexadezimal wäre es von 16 Bytes richtig ..? – Shailesh

+0

Das ist mein Verständnis entsprechend, was der verbundene Artikel sagt. –