- ベストアンサー
転送用文字列をISOまたはEIAに変換する方法
- VB6.0でNCへの転送プログラムを作成していますが、転送用文字列をISOまたはEIAに変換する方法について教えてください。
- 現在、転送用文字列はString型の変数(strSendData)に入力されていますが、それをISOまたはEIA形式に変換する方法を教えてください。
- よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
EIAコードは、変換しないと無理です。 ISOコードに関しては、受信(NCからPC)は8ビット目をカットしてください。送信(PCからNC)では奇数ビットの時のみ8ビット目を1にするればOKです。 EIAコード無しでISOコードのみでしたら 通信設定 7ビット、パリティ偶数、ストップビットは任意(1.5以外)で問題なく通信出来ます。 私のHPに「通信ワンポイント」を記載していますので参考になると思います。 VBで作成した通信ソフト、参考になるかわかりませんがソースごと差し上げましょうか。10年前ですが、多分バックアップあると思います。 その際は、私掲示板に書込みください。
その他の回答 (2)
ISOコードの場合、文字コードそのものは とくに変換する必要はありません. 送信する8ビットのうち下位7ビットがそのまま文字のASCIIコードで、 最上位ビットがパリティになっています. 各バイトのビット列の“1”の数が偶数になる様に パリティビットを立てます. 例: 0 0000000 1 0000001 1 0000010 0 0000011 1 0000100 0 0000101 0 0000110 1 0000111 1 0001000 0 0001001 0 0001010 1 0001011 0 0001100 1 0001101 1 0001110 0 0001111 EIAの場合には、ASCIIコードとの関係が薄いので、 変換表を用意した方が楽かも知れませんね.
お礼
アキオ さま、こんにちわ。 ISOの場合は、そのままでよさそうですね。 ご回答有難う御座います。
ISO、EIAへの変換は文字コードの変換が必要です。 VBに変換するクラスは無いので作成するか、購入するしかありません。 参考のURLに有料ですが、シリアル通信チェッカーのProfessional Editionを購入すればAwCodeConvertクラスがありますのでそのまま利用できますよ。
お礼
こんにちわ。 早速のご回答有難う御座います。 検討してみます。
お礼
竜の子 さま、こんにちわ。 NCに関しては、ど素人です。 HPを確認させて頂きます。 有難う御座います。