- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:byte型をstring型として扱うには)
byte型をstring型として扱うには
このQ&Aのポイント
- Windows2000-SP4/VB6-SP5環境で、ユニコードのデータをVBで直接入出力し、VB内でstring型で扱いたい場合、byte型で受け取り、APIの「MoveMemory」(または「RtlMoveMemory」)でstring型に変換する方法を教えてください。
- VBの入出力では自動的にsjis/unicode変換がされるので、binaryで受け取り、string型にすることを考えていますが、経験不足でうまくいきません。VBでbyte型とstring型の双方向のbinary変換の方法を教えてください。
- Windows2000-SP4/VB6-SP5環境でユニコードのデータをVBで直接入出力する際、byte型とstring型の双方向のbinary変換方法を教えてください。
- みんなの回答 (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バイトのゴミがついて出力されました。どこに問題があるのでしょうか。何か判りますでしょうか。