
VB6を使用して、バイナリファイルをバイナリデータとして文字列にとりたいのですが、全角文字が絡んだ時の処理がうまくいきません。
バイナリファイルをString型の変数に丸ごと読み込んで、後は何バイトから何バイト目を抜き取り数値に変換…という処理をしようとしています。
本来は、バイナリでファイルをオープンして、Getコマンドで取得するのが手っ取り早いのですが、ファイルアクセス回数を減らすため、このような面倒な方法をとっております。
そこで仮に、
dim test as string
dim i as integer
test = "aあ" & chr(1) & "0 "
For i = 1 to 6
Debug.Print Asc(Strconv( _
MidB(Strconv(test,vbFromUnicode),i,1), _
vbUnicode))
Next
のようなソースを作ってみました。(本来は文字列は数100KByte…)
しかしながら、この方法ですと上の例では2Byte目、つまり「あ」の文字の1Byte目が「&H00」になってしまいます。その次は「&HA0」、他の箇所も問題ないのですが…
おそらくは根本的に違う方法で解決すべきではないかと思うのですがその方法がわかりません。
なお、この格納データはバイナリデータなので、意図的に全角文字にしていくてもその値によって(偶然)全角文字になったり制御文字になったりしますので前もって全角文字に対する処理は難しいと考えてます。
質問の仕方が良くなく、質問の内容がなかなかご理解いただけないとは思いますが、ご存知の方、ご経験者の方、ご教授お願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのVBAでLenB関数について
-
一番右のスペース以降の文字列...
-
StrConvでUnicodeに変換出来な...
-
CString型 全角半角を意識せず...
-
エクセル 文字列の中から数字...
-
VB6のテキストボックスに入力し...
-
文字列から、null値を除去する方法
-
ファイル名の一部削除について
-
ASC関数
-
HEX
-
TextFieldParserの固定長桁数を...
-
バイナリデータの取り方
-
機種依存文字と特殊文字について
-
WSTRINGとは?
-
2次元のdictionary
-
VB6からの移行したいけど、VB.N...
-
VBA 変数名に変数を使用したい。
-
C# DataTableに最後に追加した...
-
【ExcelVBA】値を変更しながら...
-
構造体配列の特定のメンバーをF...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELのVBAでLenB関数について
-
ファイル名の一部削除について
-
StrConvでUnicodeに変換出来な...
-
CString型 全角半角を意識せず...
-
一番右のスペース以降の文字列...
-
エンコード・デコードの仕方
-
「シフトJIS X 0213」形式の文...
-
文字列から、null値を除去する方法
-
TextFieldParserの固定長桁数を...
-
VB6のテキストボックスに入力し...
-
VBからID3タグをいじる方法
-
【Excel VBA】セル内テキストの...
-
C#文字コードについて
-
HEX
-
文字列の中に半角文字があるか...
-
ASC関数
-
機種依存文字と特殊文字について
-
Err.Number
-
chrをintに変換すると…
-
C言語とWin32APIで全角かなの...
おすすめ情報