dポイントプレゼントキャンペーン実施中!

VB6で、80h~9Fh 及び E0h~FFhはASCII文字変換が出来ません。(ANK文字コード表に無い) RS-232C通信機器等では、これらのASCII文字で通信しているものがありますが、対応方法をご教授頂けませんか?

A 回答 (2件)

非Printableコードを視覚的に捉えようとしても方法はありません。


問題はデータ内容が大事なのか、視覚効果が大事なのかです。
前者なら、#1さんのようにByte型で定義し、Binaryの入出力を使い
ます。途中で、「文字列」をモニタしようなどとは考えないことです。
後者なら、文字コード変換が必要です。しかも99%手作りしないと
いけないでしょう。少なくとも、00~1F、80~9Fはフォントの無い
ものばかりです。(寡聞にして知りませんが、MIMEに登録されており、
フォントがあるならADODB.Streamオブジェクトで変換できます。)
    • good
    • 0
この回答へのお礼

アドバイス有り難うございます。
「目から鱗」の感が有ります。
書かれている様に、必要なのはデータです。
トライし直してみます。

お礼日時:2009/02/03 08:58

通信にどのようなコンポーネントをお使いなのかわかりませんが、Byte型は使えませんか?

    • good
    • 0
この回答へのお礼

ご回答有り難うございます。
Byte型でTestしてみましたが、うまく行きません。
また、私の説明が不十分な点、お詫び致します。
或る機器とPCの間をRS-232Cを使用して、00h~FFhのデータをASCII文字(ASCII Codeでは無く)で通信したいのですが、質問しました80h~9Fh等は、通常ASCII文字の設定が無いため "00"となってしまいます。
ISO-8859等のASCII文字に切り替える方法が無いかと思っています。

送信例 (7Eh) MSComm1.Output = chr$("&H" & "7E") → "~"
受信 R_data = MSComm1.Input
Hex(Asc("R_data")) → "~"

通信ソフトは、経験が無く手探り状態です。ご教授宜しくお願いします。

お礼日時:2009/02/01 09:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!