• ベストアンサー

教えてください。VBでのバイナリデータ。

EUCコードで作成されたlndatファイルをオープンし、 コード変換するプログラムを作っています。 データの所得時にHexを使っているのですが、 所得データが 000000000000000000220801011200012000 となっています。 元データは 000000000000000000000000000000000000220080010001012000000120000000000000 なため、この様に所得したいのですが、上手く所得できません。 こういったデータの所得は可能なのでしょうか? また、自分の作成したソース自体にバグがあるのでしょうか? よろしかったら教えてください。 >>以下ソース Dim Data As Byte     '所得データ(1バイトごと) Dim Data_A As Variant 'ファイルから所得したデータ(ALL) Dim I As Long 'カウンター Dim File_Name As String 'ファイル名 Dim Filnm As Long 'ファイル番号 I = 1 Data_A = "" Filnm = FreeFile File_Name = "AA.lndat" Open App.Path & File_Name For Binary As #Filnm Do While EOF(Filnm) = False Get #Filnm, I, Data Data_A = Data_A & Hex(Data) I = I + 1 Loop Close #Filnm >>開発環境 VB5.0(SP3) Win2000 フリーのDLL等は使用不可能とお考え下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • ginyou
  • ベストアンサー率32% (138/431)
回答No.3

 >Data_A = Data_A & Hex(Data) の所を Data_A = Data_A & Right$("00" + Hex(Data), 2) と書き換えて下さい。

inugoya_poti
質問者

お礼

お答え有難うございます。 こちらの方が、強制的に0埋めするより安定するのかも。 (Format関数は結構不安定(!?)と聞いたことがあったので…) ご教授有難うございます(^o^)。

その他の回答 (2)

  • nakashi
  • ベストアンサー率51% (21/41)
回答No.2

>Data_A = Data_A & Hex(Data) Hex(Data)が0-Fのとき 前に0を追加したら

inugoya_poti
質問者

お礼

お答え有難うございます。 教えて頂いたように、 所得データに0埋めを行うことにしました。

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.1

エンコード・デコード で検索

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=393593
inugoya_poti
質問者

お礼

ご返答有難うございます。 実はそちらの過去ログも見たのですが、 私が扱うデータとちょっと感じが違ったので熟読していませんでした(爆)

関連するQ&A

専門家に質問してみよう