VB6でコーディング中です。
いろいろとログを探しましたが、理解できないので、改めて質問します。
受信バッファに
RES$="#DATA 000023FEB5...
のようにデータが格納されています。
これを
for x=1 to xx
Char0$=Mid(RES$, x番目,1)
Char1$=Asc(Char0$) \ 16
Char2$=Asc(Char0$) Mod 16
CharSum$=Hex(Char1$) & Hex(Char2$)
・・・
のように処理をしていますが、例としてあげた文字列の23の次、「FE」のところで、正しく変換されません。
ByteとStringの代入の仕方と、StrConvにカギがありそう、らしいのですが、
そこのところが理解できていません。
試しにMidB,AscBを使いましたが、不要な「0」が付加されたりして、何やら
間違っている模様です。
ご教授いただければ幸いです。
特に問題無いように見えますが。
尤もこれは、文字のASCIIコードを16進で表しているだけなんで、
CharSum$ = Hex(Asc(Mid(RES$, x番目, 1)))
と一行でいけると思います。
ただ何の為にという疑問と、データーを見る限り、逆に16進を
10進に直したいのではと言う思いが頭をよぎります。
よく見るとタイトルに「バイナリ受信データを文字に変換するには?」
と書いてありますね。
「受信バッファに
RES$="#DATA 000023FEB5...
のようにデータが格納されています。」
RES$は文字列ですので既に変換されてます、実は文字列で送られて来るので
何もしないで良いのでは。