VB6でテキストファイルを読み込む際に空白文字の扱いに問題が発生する

このQ&Aのポイント
  • VB6でテキストファイルを読み込む際に、改行の部分を適切に処理する方法がわからない。さらに、バイナリエディタで確認すると空白文字が00として表示され、想定と異なる結果が得られる。空白文字を正しく変換する方法を教えて欲しい。
  • VB6のテキストファイル読み込みにおいて、改行の扱いが問題となっている。vbLfをvbNewLineに置換することで改行を実現しているが、空白文字の扱いについては困っている。バイナリエディタで確認すると、空白文字が00と表示され、意図しない変換結果となってしまう。適切な方法で空白文字を変換する方法を教えて欲しい。
  • VB6でテキストファイルを読み込む際に、改行の扱いに問題がある。vbLfをvbNewLineに置換することで改行は実現できるが、空白文字の変換については何もしていない。バイナリエディタで確認すると、空白文字が00と表示されている。空白文字を適切に変換する方法を教えて欲しい。
回答を見る
  • ベストアンサー

テキストデータなのですが、

途方に暮れてます。教えて下さい。 VB6にて、テキストファイルを読み込みます。 改行の部分はReplace(テキストファイル, vbLf, vbNewLine)として、 改行しました。(私はバイナリの扱いをほとんど知りません) 次に問題となったのが、バイナリエディタで見てみると、00という空白 文字です。(ドットかはっきりわからないのですが、.となってます) この空白文字を素直に空白文字としたいのですが、空白が削除されて 変換されます。 前 ABCDEF 後ABCDEF といった感じです。 そのままの状態で改行のように、空白文字を変換したいのですが、 どうすればよいでしょうか? 私自身、バイナリについてわかっていないので、内容がわかりにくい と思いますが、どうぞよろしくお願いします。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Unicodeのテキストファイルを バイナリデータをして扱っているのでしょうか バイナリエディタで単に 00表示されているものを スペースに置き換えたならReplaceで出来ますよ ss = Replace( ss, Chr(0), " ") といった具合です もう少し具体的に どのようなコードで読み込み どのような処理を施したいのかを投稿してみましょう

satoshi777
質問者

お礼

あ、変換できました!!!! ありがとうございます。次からはもっと詳しく書くように致します。 ありがとうございました。

関連するQ&A

  • VB(VBA)で、バイナリデータを使ってテキストファイルを作成したいの

    VB(VBA)で、バイナリデータを使ってテキストファイルを作成したいのですが、 例えば、"A"が一文字のみのShift-JIS もしくはunicodeのテキストファイルを作るため、 (下記の確認はShift-jis で行っています。) Dim ByteData As Byte ByteData = AscW("A") Open "C:\A.txt" For Binary Access Write As #1 Put #1, 1, ByteData Close #1 としました。 できあがったファイルをバイナリエディタで確認すると、  41 となっています。 (Unicode は 41 00 2バイト文字でリトルエンディアンのため) この41は、"A" の文字コード(Shift-JIS)「65」の16進表記です。 この「41」という値を使ってバイナリモードでテキストファイルを作成したいのですが、 どのようにすればよいでしょうか? 上記 Put #1, 1, ByteData の部分を、 1.Put #1, 1, 41 としたところ、通常表示はできないファイルができあがったみたいです。 バイナリモードで 「29 00 20 20」でした。 文字コード00 に該当する文字がないためだと思います。 2.Put #1, 1, "41" としたところ、「41 」(バイナリモードで 「34 31 20 20」) (41の後ろは半角空白) で×でした。 3.Put #1, 1, CLng("&H" & 41) としたところ、通常表示はできないファイルができあがったみたいです。 バイナリモードで 「41 00 00 00」でした。 4.ByteData = CLng("&H" & 41) Put #1, 1, ByteData これでやっとできました。 この他にも方法があるのか?と思い、質問させていただきました。 ご指導よろしくお願いいたします。

  • 改行されていないテキストデータ

    改行コードがないテキストデータがあります(半角23,250文字) VB.NET2003で取込ながら、250文字で改行したいのですが、 どんな方法がありますでしょうか? 宜しくお願い致します。

  • テキストデータでNULL?

    こんにちは。会社の人がテキストエディタでファイルを開いて、このデータはNULLが入っているからおかしいとかブツブツ言っていました。 データの中身はバイナリデータではなく、固定長、またはCSVファイルのような事を言っていました。 そこで疑問に思ったのですが、固定長、またはCSVでNULLなんてあるんでしょうか?たぶん、空文字列の事をさしてNULLと言っているような気がするのですが、テキストデータにNULLは存在するのでしょうか?

  • こんにちは。

    こんにちは。 Excelシートで、セルの中の改行文字を取りたいのですがうまくできません。 Excelシートの全セルを選択し、置換機能でctrl+jを空白文字(スペースでは無く、何もない文字) に変換してからcsv形式に保存しても、そのファイルをテキストエディタで開くと改行が入ってしまいます。 Excelでの変換方法に原因があるのでしょうか? それか、フリーのエディタソフトを使って変換する方法があれば教えて下さい。 よろしくお願いいたします。

  • テキストファイル内の改行について

    お助け願います。 VB6にてあるテキストファイルを読み込んでいます。 このテキストファイルは普通にノートパッドで開くと、 1行が1024文字で開かれてしまいます。 秀丸などで開くと、改行がうまくいき必要なデータの並びになります。 VB6からこのテキストファイルを開いて読み込む際にも、 秀丸のような改行で読込みたいのですが、できるのでしょうか? ノートパッドでも秀丸のような改行で開くことは可能なのでしょうか? ご教授下さい。 例) ノートパッドで開くと 1234567890123456789012345678901234567890 秀丸で開くと 1234567890 1234567890

  • テキストファイルのデータからバイナリを作りたい

    現在、テキストデータとしてCSVファイル1つあたり8バイトのデータが1000個ほどのデータが書かれているファイルがあります。このデータをバイナリファイルへ数値も変換して行きたいと思っています。 たとえば1個目のデータ”12345678”というテキストデータをバイナリの"12345678"に変換したらそれを0x00番地に並べて、そして2個目のデータ”87654321”というデータをバイナリにしたらそれを0x90離れた場所に置いていき、それを1000回繰り返して、結果をバイナリファイルで出力したいのですが、何か簡単にできるフリーソフトなどありませんでしょうか? また、プログラムとかでも簡単にできるのならそうしたいのですが、どうしたらよいか教えていただけないでしょうか?

  • 必要な文字のみに変換する場合

    Text1に入力された文字からアルファベットの大文字のみをText2へ表示させたい(つまり記号、2バイト文字などは省き、小文字は大文字に変換)と考えています。 Dim Str as String   Str = Text1.text   Str = Trim(Str)   Str = Replace(Str, " ", "")   Str = Replace(Str, " ", "")   Str = Replace(Str, vbTab, "")   Str = Replace(Str, vbCrLf, "") スペース、タブ、改行は空白文字に置き換えることができたのですが、アルファベット以外の記号や小文字への変換、2バイト文字の扱い方などが思いつきません。 何か方法がありましたら、お教えください。

  • この方法でバイナリデータが読めるのでしょうか

    あるプログラムでバイナリ出力しているファイルがあります。これを単純にfread()で読み込んで、今度はfprintf()で出力すればどうなりますか?やりたいことは、バイナリ出力されたファイルをテキストファイルに変換したいのですが、この方法で、バイナリファイルが読めるでしょうか? ちなみに、読みたいバイナリファイルは、fwrite()で書き出したファイルです。 あと、「バイナリファイルです」と言って貰ったファイルを、windowsのテキストエディタなどで開くと、appleなどの通常のアルファベットの単語と、あとは訳のわからないものが見えるのですが、これってバイナリファイルじゃないですよね?appleなどと書いてあるのですから。 間違えていましたら、訂正お願いします。

  • テキスト編集ソフトについて

    テキスト編集ソフトをさがしています。有料/無料は問いません。 改行コードの変換と文字コードの変換ができるもの、置換・検索の機能に優れたテキストエディターを教えてください。 アップルのコンピュータとデータのやりとりをするのにスムーズにしたいと思っています。

  • テキストデータをSQLServerに取込むには

    列区切なし、改行コードなしの固定長データをSQLにコンバートしたいのですが、上手く行かず困っています。 (ファイル形式:テキストファイルバイナリ固定長) ・試した方法  (1)DTSインポート/エクスポート(←もう全然上手く行きませんでした・・・)  (2)BULK INSERT       (←上手く取り出せている自身がない・・・) またコンバート後、SUBSTRINGを使ってデータを取り出し、フィールドにセットしていこうと考えているのですが、これも上手く行きません。 半角・全角文字やスペースが含まれていると、取り出せないのでしょうか?

専門家に質問してみよう