今日の質問/マイページに反映されないので、再度の質問です。
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- 物理学 2物体の単振動 1 2023/08/17 20:27
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBA バイナリ―から文字列にする方法
Visual Basic(VBA)
-
byte配列の内容をstringにコピーしたい
Visual Basic(VBA)
-
バイト型のデータを16進表記でファイルに書き込むには?
Visual Basic(VBA)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
バイト型のデータをLong型に変換
Visual Basic(VBA)
-
6
VB(VBA)で、バイナリデータを使ってテキストファイルを作成したいの
Visual Basic(VBA)
-
7
VBA2005 16進を2桁で表示したい。
Visual Basic(VBA)
-
8
VB6で配列を文字列に変換する方法?
Visual Basic(VBA)
-
9
VB6.0でのバイナリデータの扱いについて
Visual Basic(VBA)
-
10
16進コード文字列を文字列に変換
Visual Basic(VBA)
-
11
Microsoft VBAで2GBを超えるファイルサイズのバイナリデータを読み込みたい。
Visual Basic(VBA)
-
12
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
13
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
14
VBAでバイト型データをファイルとして保存
Visual Basic(VBA)
-
15
CloseとDisposeの違い
Visual Basic(VBA)
-
16
VBでバイナリデータについて。
Visual Basic(VBA)
-
17
DATE型変数を初期化する方法
Visual Basic(VBA)
-
18
SQLの速度をあげるには・・・
Visual Basic(VBA)
-
19
EXCELでワークシートを開いたらマクロを自動実行したい
Excel(エクセル)
-
20
文字列からタブコードを取り除きたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 範囲指定スクショについ...
-
Excelのマクロについて教えてく...
-
プログラミング
-
ユーザーフォームに別シートか...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
2つのマクロでチェックボックス...
-
VBAに詳しい方教えてください。
-
Excel VBA 定義されたプロージ...
-
エクセルVBAコードで教えて下さ...
-
VBAコードについて教えてくださ...
-
ExcelのVBAコードについて教え...
-
Excel VBA マクロ あるフォルダ...
-
VBAで特定のシート以外のシート...
-
Excelの別ブックの表を1つにま...
-
お世話になります。 Excel VBA...
-
Excelのマクロについて教えてく...
-
VBA一覧取得 再投稿
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】インデックスが有...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
byte型をstring型として扱うには
-
VB.NETで変数の宣言が上手くで...
-
vba 時間の引き算 例えば 15:00...
-
Designer.vbは直接コードをいじ...
-
アウトルックが起動しているか...
-
「読み込み違反」が起きたとき...
-
意味不明の実行時エラーで困っ...
-
Visual Studio 「AnyCpu」について
-
分かる人は簡単なのだろうが、v...
-
VBAでOutlookを終了させたい Ex...
-
Windows PowerShellでC言語を実...
-
VBSから別のVBS起動するとき変...
-
excel vbaから実行するexe実行...
-
IT初心者です 仕事で、vb.netで...
-
VBで実行中のEXEファイルの情報...
-
matplotlibで任意の角度の円弧...
-
ManagementClassが見つからない。
-
VBAでArrayListを使う為の「msc...
-
印刷要求順番と印刷出力順番が...
-
WinSCPで画像のように puttyを...
おすすめ情報