2016-04-05 9 views
0

私は、ソケットでデータを送受信するための簡単なAdaアプリケーションを用意しています。これで、ファイルから読み込んだ文字列を使ってパケット/ストリームを作成する必要があります。文字列は、メッセージ本文のバイナリ表現です。文字列データをバイナリストリームに変換する

したがって、1111000011110000という文字列は、2バイトのF0 F0として送信する必要があります。データサイズは既知で固定されています。

私が苦労しているのは、正しい方法で文字列を解析して変換することです.8文字ごとに1文字のバイナリ表現があります。

Adaでこれを行う正しい方法は、文字列を解析するか、別の形式のファイル(現在は文字列を読み取るGet_Lineを使用しています)から読み込むことです。

答えて

4

Ada.Text_IO.Integer_IOという適切なインスタンスを使用して再マッピングすることができます。

あなたは数がベース2であることを伝えるために"2#""#"の8個の0と1を囲み、かつ出力がベースで16

+0

のおかげであることを伝える情報を削除する必要があります。 Ada.Integer_Text_IO.Get( "2#"&byte_string& "#"、int_value、last)を使用しました。 – MattP

関連する問題