tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 追伸
投稿日: 2008/01/07(Mon) 10:50
投稿者よねKEN
> 今回、MSCommを使用したのが初めてだったこと、また、バイナリモードに対する
> 理解が不足していたことが原因だと思います。

VBの文字列はUnicodeだということの認識不足も一因ではないでしょうか。
0x41 はShift-JIS(ASCII)では"A"ですが、Unicodeではそうではありません。
Unicodeでは"A"は0x00 0x41の2バイトです。

0x41がセットされたバッファをそのままStringに代入すると
不完全な文字のため表示できません。
StrConv関数を介してShift-JIS→Unicodeに変換するとか、
Chr関数でShift-JISの文字コードデータから文字に変換するといった
何らかの変換が必要でした。

#MsgBoxで0x41だけの場合に"A"と表示される理由は不明ですが、何か特別な仕様によるものでしょうかね。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。