- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Mscomm を使用してバイナリでデータを受信したい)
Mscommを使用してバイナリデータを受信する方法と文字に変換する方法
このQ&Aのポイント
- Mscommを使用して、バイナリでデータを受信する方法について質問です。受信データは垂れ流しであり、配列に格納する必要があります。
- 受け取ったバイナリデータをバリアント型の変数に格納し、それを1バイトごとにバイト型の配列に入れていきます。次に、配列内の制御文字を取り除き、データを文字に変換します。
- バイナリデータをバイト型の配列に格納し、制御文字を取り除いた後、文字に変換してつなげることで、データを受信し変換することができます。受信データが制御文字を含んでいるため、バイナリ形式で受信し、後から文字に変換する必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(記憶が薄いので、正確ではありません。) Dim bytAry() as byte として、それに直接受信してあげると必要な領域を勝手にVB側で用意してくれると思いました。 それを Dim strWork as String (1)strWork = strConv(bytAry,vbUnicode) (2)strWork = strConv(bytAry,vbFormUnicode) どっちかで変換だったと思うけど、それでバイナリデータを文字列化します。 そのあと VB6ならReplace関数で制御文字だけを置き換えて使用すると便利かも? 最初に述べたように、かなり記憶があいまいです。環境がないので性格には答えられません。m(__)m
お礼
TAGOSAKU7さん、回答ありがとうございます。 私の考え方が間違っていたようです。 バイナリデータも文字列と同じように、いったん受信しから配列に割り振らないとダメかと思っていました。(^^ゞ 何もせずに配列に入ってくれるとは・・・。 おかげ様でうまくバイナリデータを受信することが出来ました。 ありがとうございました。 UME3 m(__)m