• 締切済み

VBでバイナリデータについて。

TAGOSAKU7の回答

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

田吾作7です 16進数にするだけならHEXでできます。 バイナリデータをどういった形で変数に読み込んでるかがわからないために、的を得た回答ができません。 読み込む部分までのソースを記してもらえれば、以後どうするかを答えやすくなると思います。 全然回答になってないかもしれませんが、バイナリファイルを読み込む時のサンプルを記します。 Sub Main()   Const testFile   As String = "C:\TESTFILE"      Const ReadBufSize  As Long = 256  '読み込むバッファのサイズを指定      Dim Buf()  As Byte   'バッファ   Dim lngFile As Long   'ファイルナンバ      Dim i    As Long   lngFile = FreeFile   Open testFile For Binary Access Read Shared As #lngFile     ReDim Buf(ReadBufSize - 1)     Get #lngFile, , Buf   Close #lngFile      '16進数にしてデバッグウィンドウに出力   For i = 0 To (ReadBufSize - 1)     Debug.Print Hex(Buf(i))   Next i End Sub

関連するQ&A

  • VB2008 バイナリデータの書き込みで

    現在、VB2008でバイナリデータを書き込むプログラムを作成しているのですが、String型のデータをバイナリデータに書き込むと、なぜかそのバイナリデータの先頭に05が入ってしまいます。 コードは以下のように記述しています。 TextBox1.Text = "TEST" Dim Bin As New System.IO.BinaryWriter(New System.IO.FileStream(filename, IO.FileMode.Create)) ~~~省略~~~ Bin.Write(TextBox1.Text) ~~~省略~~~ Bin.Close() 書き込まれたバイナリデータは、 05 54 45 53 54 で、テキスト欄では、 .TEST と表示されます。 分かりにくい質問で申し訳ありませんが、回答よろしくお願いします。

  • VBで16進数をバイナリ変換しRS232通信

    VB CommunityでRS232C通信プログラムを作成しています。 OKWaveをみて、ポート接続などはできたのですが、 データ送信でつまづいてます。 16進数をバイナリ変換し送信したいのです。 その部分ですが、16進数で[11]をバイナリに変換して送信したい場合、 Dim command(0) As Byte command(0) = &H11 SerialPort1.Write(command, 0, 1) としても、16進数で[11]を送ったときの動作を行いません。。 VectorなどでのRS232通信テストツールでは反応あるのですが。。 初歩的ですみませんが、よろしくお願いします。

  • バイナリファイル

    VBでバイナリファイルを読み込み、処理しようとしているのですが、VBではバイナリファイルを扱えないのでしょうか? APIしかないのでしょうか? 例) バイナリデータ:10(16進) 取扱データ:16(10進) 上記のことをしたいのですが、うまく扱えません。 CDecも"&H10"なら16として扱えるのですが、バイナリデータをそのまま数値化することができません。 何か良い方法があれば教えて下さい。

  • バイナリデータについて教えてください

    バイナリデータについて調べてみると、テキストデータ以外のデータはすべてそうだと書いてあります。 私の理解は、 ・パソコンのデータは結局0か1である。 ・テキストデータは、0か1のデータがテキストビューワーで開くと文字になるように並んでいるデータである ・バイナリデータは0と1で表現されるデータである。   (たまたま表す進数が2進数以外の場合も有る) <結論> ・よって、テキストデータもバイナリデータの一部である この結論は正しいのでしょうか?

  • バイナリーの画像データを読み込む。

    データベースをサイベース社のAdaptive Server Anywhre 7と いうのを使用していて、そのDBのテーブルに、long binaryで画像データ の定義を切ってデータをバイナリで保存してあります。 (もとはBMPの画像をバイナリに変換している) 上記のバイナリデータをVBのフォーム上(イメージ)に表示させるには どのようにしたらいいのでしょうか? もちろん、Loadpicture句を使用するのでしょうが、通常はパスを切ったり して使用すると思うのですが。。 VB始めたばかりでまったく想像つきません。どうか教えてください! 別記:上記サイベースのDBで10回程度連続でDBを読み込みに行くと エラーになるのですが、DB上でそのような回数の指定があるのでしょうか? それとも、ハード的な問題なんでしょうか?いままでそのような経験が ありましたら対策等教えてください。お願いします!

  • またまたバイナリ→テクスト

    VBは5で、Excle2000のVBAでやってます。バイナリデータ→テクストデータに 128バイナリデータを添え字を使って1バイトごとに抽出DATA_PS = DATA_PS & 変換関数 というふたつの部分のリファレンスが正しくかけなくて 困ってます。Getを使って1バイトづつとりだして、Hexを使って変換するというものだそうです。 誰か教えてください。

  • VB バイナリ文字列へ変換

    VBでバイナリ文字列へ変換を行いたいのですが、どうしたら良いでしょうか?

  • バイナリデータの取り方

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

  • MIMEとバイナリデータの読み方

    バイナリファイルの中、MIME boundary1の後、ヘッダーの部分のXMLで書かれたテキストファイルあります。そのXMLヘッダー文をパースしたい。 バイナリファイルのほかのところにMIME boundary2の後バイナリ形式のデータあります。 Googleで調べたけど、なにかは見つかったけど、理解できず困っています。 バイナリファイルを一バイトづつ読んで、Integer.toHexString()を使うとASCIIの形でXMLの部分はそのまま (フォーマットなしで)、バイナリデータの分は化けた表示されます。 だいたいのアウトラインでよいです。やり方ご存知の方、教えてください。 (1)boundary1の後書かれたXML式データを読む方法 (2)boundary2の後、決まったキーワードが入っていたら、そこから決まったバイト数までのバイナリデータを読む方法 その決まったキーワードと決まったバイト数はヘッダーのXML内に書かれています。

    • ベストアンサー
    • Java
  • バイナリファイルなのですが・・・。

    研究用のデータを受け取ったのですが、テキストではなくバイナリファイルでもらいました。データを取得した人によると、↓にある装置を使って時系列データをintel86系バイナリフォーマットで記録したと言っていました。 http://www.sonysms.co.jp/j/products/datarecorder/pdf/SONY_PCscan3_jp.pdf どうにかしてこのバイナリファイルをテキストに変換して、データを取得したいのですが、どうしたらよいのでしょうか? ネットにあるバイナリ→テキスト変換ツールを使いましたが、16進数の数字が羅列されるだけで、エクセルなどで読めるデータ形式にはなりませんでした。