2016-04-05 2 views
0

Ich habe eine einfache Ada-Anwendung zum Senden und Empfangen von Daten über Sockets. Ich muss dies nun ändern, um ein Paket/einen Stream mit einer Zeichenfolge zu erstellen, die aus einer Datei gelesen wird. Die Zeichenfolge ist die binäre Darstellung des Nachrichtentexts.Konvertieren String-Daten in Binär-Stream

Also eine Zeichenfolge von 1111000011110000 sollte als 2 Bytes F0 F0 gesendet werden. Die Datengröße ist bekannt und festgelegt.

Wo ich kämpfe ist zu parsen und konvertieren Sie die Zeichenfolge in der richtigen Weise, jede 8 Zeichen ist eine binäre Darstellung von 1 Zeichen.

Was ist der richtige Weg, dies in Ada zu tun, entweder die Zeichenfolge zu analysieren oder vielleicht aus der Datei in einem anderen Format (derzeit Get_Line, die eine Zeichenfolge liest) zu lesen?

Antwort

4

Sie können die Neuzuordnung mit einer geeigneten Instanziierung Ada.Text_IO.Integer_IO vornehmen.

Sie würden die acht Nullen und Einsen in "2#" und "#" zu sagen, umschließen, dass die Zahl in der Basis 2 ist, und entfernen Sie die Informationen zu sagen, dass die Ausgabe in der Basis ist 16.

+0

Dank. Ich habe Ada.Integer_Text_IO.Get verwendet ("2 #" & byte_string & "#", int_value, last) – MattP