• 締切済み

ASCII文字変換

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

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

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

io-sam
質問者

お礼

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

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

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

io-sam
質問者

お礼

ご回答有り難うございます。 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")) → "~" 通信ソフトは、経験が無く手探り状態です。ご教授宜しくお願いします。

関連するQ&A

専門家に質問してみよう