
今日の質問/マイページに反映されないので、再度の質問です。
windows2000-sp4/vb6-sp5環境です。ユニコードのデータをvbで直接入出力し、vb内でstring型で扱いたいとおもっています。今のところ、vbの入出力では、自動的にsjis/unicode変換がされるので、binaryで受け取り、string型にするのかなと思っています。byte型で受け取り、APIの"MoveMemory"("RtlMoveMemory")でstring型にcopyするのかなとは思っているのですが、うまくいきません。経験不足そのものです。vbでのbyte型とstring型双方向のbinaryな変換の方法をお教えください。
No.1ベストアンサー
- 回答日時:
dim s as string
dim b() as byte
'文字列 -> byte配列
b = s
'byte配列 -> 文字列
s = b
この回答への補足
todo36さん さっそくの回答どうもありがとうございます。
"="で型変換できるとは驚きです。
下記のテストをしてみました。
Private Sub Command1_Click()
Dim byt1() As Byte
Dim str1 As String
Open "c:\data\in.csv" For Binary Access Read As #1
Open "c:\data\ou.csv" For Binary Access Write As #2
ReDim byt1(1)
Get #1, , byt1
ReDim byt1(21)
Get #1, , byt1
str1 = byt1
MsgBox ("< " & str1 & " >")
ReDim byt1(1)
byt1(0) = &HFF
byt1(1) = &HFE
Put #2, , byt1
ReDim byt1(21)
byt1 = str1
Put #2, , byt1
Close #1
Close #2
End Sub
sjis対応以外の文字もそのまま出力されることは確認しました
BOMの2バイトを含め24バイトのファイルを入出力しました
ただ、何が稚拙なのか、24バイトのあとに142バイトのゴミがついて出力されました。どこに問題があるのでしょうか。何か判りますでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA バイナリ―から文字列にする方法
Visual Basic(VBA)
-
バイト型のデータを16進表記でファイルに書き込むには?
Visual Basic(VBA)
-
byte配列の内容をstringにコピーしたい
Visual Basic(VBA)
-
-
4
VB(VBA)で、バイナリデータを使ってテキストファイルを作成したいの
Visual Basic(VBA)
-
5
VB6で配列を文字列に変換する方法?
Visual Basic(VBA)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
1バイト文字の上位4ビット・下位4ビットの入れ替え方法を教えて下さい
Visual Basic(VBA)
-
8
StrConvでUnicodeに変換出来ない文字
Visual Basic(VBA)
-
9
エクセル VBA でのCOMポート認識
その他(プログラミング・Web制作)
-
10
VBAのバイナリ出力について
Visual Basic(VBA)
-
11
EXCELのVBAでEOFを誤認識
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
【マクロ】並び替えの範囲が、...
-
vba textboxへの入力について教...
-
ワードの図形にマクロを登録で...
-
エクエルのVBAコードについて教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
Excel VBA 選択範囲の罫線色の...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】開いているブックの...
-
えくせるのVBAコードについて教...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
-
【ExcelVBA】5万行以上のデー...
-
VBA ユーザーフォーム ボタンク...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
byte型をstring型として扱うには
-
VB.NETで変数の宣言が上手くで...
-
VBのメモリのアドレス取得
-
意味不明の実行時エラーで困っ...
-
Designer.vbは直接コードをいじ...
-
VBAでArrayListを使う為の「msc...
-
ManagementClassが見つからない。
-
vba 時間の引き算 例えば 15:00...
-
excel vbaから実行するexe実行...
-
印刷要求順番と印刷出力順番が...
-
[VB.net] ExcelへのQRコード出...
-
VBAでOutlookを終了させたい Ex...
-
Windows PowerShellでC言語を実...
-
印刷ダイアログを表示させない方法
-
C++初心者です。 debug asserti...
-
VB2010で作成したdllからtlbが...
-
VB.NETで参照設定したDLLの修正...
-
「読み込み違反」が起きたとき...
-
アウトルックが起動しているか...
-
オブジェクト(dll)のレジストリ...
おすすめ情報