バイナリデータの取得の仕方
- 2 名前: 匿名488 投稿日:2004/02/06(金) 13:56 ID:???
- VB が詳しくない私が回答するのは筋違いですが、
化ける、ということは取得はできているんでしょうか?
いわゆる「バイナリデータ」はバイトごと
そのままの数値が送られてきますので、それをそのまま
表示すると「化ける」ということになります。
受信対象のバイナリ値がバイト(0-255)範囲の場合には、
1バイトずつ切り出して(昔の MS系BASIC では MID$ 関数というのがありました)
数値型に変換(昔は ASC 関数というのがありました)
して、PRINT (表示もしくはファイルへ)してやればOKです。
複数バイトに渡る場合には、桁を考慮してやる必要があります。
2バイト(16bit データ)を上位バイトから受信した場合には、
過去の言語では
N バイト目から 2 バイトのワードデータを数値に変換するには
DATA = ASC(MID$(RECVDATA$,N,1)) * 256 + ASC(MID$(RECVDATA$,N+1,1))
のように記述しました。256 を掛けるのは 256 = &H100 (9ビット目以降に桁上げ)するためです。
単純なバイトやワードデータ以外の浮動小数点データなどの場合には、
同様に数値変換したのちに、ビット割があればビット演算など、
なければそれぞれに重み(上の例で言う 256 を掛けるなど)
して加工してやればいいはずです。
一般論ですが、参考になれば。
新着レスの表示