バイナリデータの取り方
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」、他の箇所も問題ないのですが…
おそらくは根本的に違う方法で解決すべきではないかと思うのですがその方法がわかりません。
なお、この格納データはバイナリデータなので、意図的に全角文字にしていくてもその値によって(偶然)全角文字になったり制御文字になったりしますので前もって全角文字に対する処理は難しいと考えてます。
質問の仕方が良くなく、質問の内容がなかなかご理解いただけないとは思いますが、ご存知の方、ご経験者の方、ご教授お願いいたします。
補足
ありがとうございます。 既にバイナリデータが文字列化されているようですが どのように文字列化を行っているのか、私では理解が不能でした、、、