
文字コードについて
現在ハンディターミナルとPCとの通信を行うプログラム(VB6.0)を作成しています。
プログラムの一部で下のような記述があります。
------------------
BCC = Chr(aa)
------------------
変数aaには数字の226が入り、変数BCCには226に該当する文字列が格納されるはずですが、BCCには文字化けした文字が入り困っています。
調べた結果VB6.0は文字列をunicodeとして扱い、その結果内部的な文字列変換が理由で、文字コード上に存在しない幾つかのバイナリデータは、Chr関数で扱えないというところまではわかりました。
そこでChr命令をChrB命令に変更しましたが、求めている答えが返ってきませんでした。
文字コード表では"DF"までは存在しますが、それ以降の文字は存在しないため扱うのは無理なのでしょうか?
StrConvなどを使用すれば可能なのかどうか等考えているのですがわからない状況です。
どなたかご教授願えないでしょうか。宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
String型は、Unicode(UTF-16)でデータが入ってくることが前提なので、
String型に対してChrB()、Chr()で非Unicode文字をセットしても解決にはなりません。
バイナリーデータは、String型は一切使用せずにバイト型配列で処理するのが基本です。
>BCCをbyte型とした場合、
>今度は問題なかった文字コードが文字化けする事や、
>かえってくる文字列がかわるような事はありませんか?
たとえ偶然であっても、他のうまくいっているString型の変数は、いじる必要はないわけですが、
もしBCCという変数で、その他のうまくいっている文字列を同時に扱っているのであればそうなるかもしれません。
(いままで暗黙のうちにUnicode⇔SJIS変換を行ってくれていた部分
を自前で処理する必要があります)
具体的には、
バイト型配列 = StrConv(String型変数, vbFromUnicode)
String型変数 = StrConv(バイト型配列, vbUnicode)
のような処理が必要でしょう。
ご回答有難うございます。
私の力不足もあり未だ問題解決に至っておりません。
そこで新しくまた質問させていただきます。申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
確定申告しなかった・無申告の人をどうやって見つけるのか元国税調査官に聞いてみた
無申告の方などを対象に税務調査を行う国税局の元税務調査官さんに、どう無申告を探すのか聞いてきました。
-
VB6で配列を文字列に変換する方法?
Visual Basic(VBA)
-
VisualBasic6.0のFormat関数でmSecを表示したい
Visual Basic(VBA)
-
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
4
VBでバイナリデータについて。
Visual Basic(VBA)
-
5
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
6
アスキーコードへの変換について VB6(初心者)
Visual Basic(VBA)
-
7
Visual Basic でのコードをASCII変換、16進変換したものを元に戻す方法を教えてください
Visual Basic(VBA)
-
8
バイト配列 抜き出す
Visual Basic(VBA)
-
9
byte配列の内容をstringにコピーしたい
Visual Basic(VBA)
-
10
オブジェクトの開放
Visual Basic(VBA)
-
11
Winsockで接続待ちタイムアウトを設定する方法
C言語・C++・C#
-
12
VB6.0-整数と余りを求める
Visual Basic(VBA)
-
13
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
14
VBで実行中のEXEファイルの情報を取得したい
Visual Basic(VBA)
-
15
16進コード文字列を文字列に変換
Visual Basic(VBA)
-
16
VBの「As String * 128」とは?
Visual Basic(VBA)
-
17
SJIS->UTF8->SJISコード変換について
Visual Basic(VBA)
-
18
ExcelVBAでのwinsockの利用
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
nullと""、\\0とEOFの違いにつ...
-
5
C言語の課題で困っています;
-
6
char型配列の最大要素数
-
7
WSH(VBS)でJSONの文字列を読み...
-
8
c言語によって文字列を逆順する...
-
9
C++で文字列の右端から特定の文...
-
10
%dなどの違い
-
11
シリアル通信で0x00を送信した...
-
12
数字の入った配列をファイルへ...
-
13
括弧が含まれる文字列の括弧の...
-
14
バイナリファイル中の日本語文...
-
15
C言語の勉強しています。すみま...
-
16
isdigit
-
17
C言語の問題です。
-
18
c#で他のアプリの文字入力フォ...
-
19
Shift_JIS(16進)を文字に変換す...
-
20
C#でstringをポインタとして渡す
おすすめ情報
公式facebook
公式twitter