• ベストアンサー

VB6のテキスト処理 さまざまな文字コード/改行で対応

VB6のテキスト処理で、Open InputとLine inputを使った場合に 文字コード/改行コードが SJIS/CRLFの時は正しく1行を読み込む事ができますが、改行がLFの時は正しく1行を読み取りません。 改行コードがLFもしくはCRの場合でも正しく1行を読み取る方法はあるのでしょうか? また、文字コードに関してもEUCやUTF-8,JISでも対応できる方法がありましたら教えて下さい。

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

  • ベストアンサー
  • KG_
  • ベストアンサー率62% (34/54)
回答No.1

CRの場合は改行コードとして認識するかと思いますが、確認されていますか? LFの場合は、Inputで読み込んでLFを認識しつつ取り出すしか内かと思います。 文字コードに関してはADODB.Streamについて調べてみてください。 UTF-16であればFileSystemObjectを使って読み込むことが出来ます。

関連するQ&A

  • 改行コードCR(\r)をアンダースコア(_)に変換

    AIX、Kシェルです。 ファイルに出力された改行コードCR(\r)をアンダースコア(_)に変換したいのですが、 文字コードSJISだと期待通りの結果になるのですが、UTF-8だと全角の手前で止まってしまいます。 試したコマンドは下記です。 cat file.txt | tr "\r" "_" > tmpfile ex) file.txt(最終行は半角spaceと全角space) 10(改行コード=LF) 11(改行コード=CRLF) 12(改行コード=CR) 1(改行コード=LF) 2(改行コード=CRLF) 3(改行コード=CRLF) ああ(改行コード=CRLF)  (改行コード=CR) 【結果】tmpfile 10(改行コード=LF) 11_(改行コード=LF) 12_1(改行コード=LF) 2_(改行コード=LF) 3_(改行コード=LF) ああ_(改行コード=LF)  _ これがUTF-8だと12までは変換できるのですが、以降が出力されません。 UTF-8でも最後まで変換されるようにするにはどうすれば良いのでしょうか? 初心者で申し訳ありません。 お手数ですが、何卒宜しくお願い致します。

  • PHPの文字コードどのように設定すればいいですか?

    PHPをテキストエディタ(TeraPad)で、書こうとしているのですが、文字コードの設定がわかりません。 初期文字コード SHIFT-JIS JIS EUC Unicode UTF-8 UTF-8N いろいろあってどれを選んだらいいのかわかりません。 今はSHIFT-JISにしてます。 保存文字コード 自動 今は自動にしてます。 初期改行コード CR+LF 今はCR+LFにしてます。 保存コード 自動 今は自動にしてます 間違っている、又はこちらのほうがいいというのがありましたら是非教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • 改行コードについて

    改行コードがよく解らないので説明お願いします 様々なサイトの改行コードの説明で LinuxはLF MacはCR WindowsはCRLFと説明しています 私の認識では LF=\n CR=\r CRLF=\r\n だと思っていました ここで疑問なのですが 確かに私の利用した環境ではLinuxの改行コードは\n, Windwosの改行コードは\r\nでした ところがMacの標準のメモ帳(テキストエディット)で文字を入力しても改行コードは\nです 確認方法は od -cというコマンドとfileというコマンドです これはつまりCRではなくLFということですよね? では、なぜ多くのサイトではMacはCRと説明しているのでしょうか? そもそもCR=\rという認識が間違ってるのでしょうか? よろしくお願いします

  • 改行コード変換

    先に「chompの使い方」で質問したものです。 文字コードを調べたところ、改行が「^M」で表示されていました。 テキスト文書ファイルもCGIプログラムも文字コードはEUCにしてありますし、改行コードもLFにしているんですが、フォームで入力される改行コードはCR+LFになっているようです。 これはどうやって制御すれば(全ての改行をLFにする)よいのでしょうか? ご教示いただけるとうれしいです。よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • Windowsでの改行コード

    HTMLを書くのにあたりUNIXサーバが主流なのだから、 UTF-8、改行コードはLFで行うことを勧められました。 Windowsの改行コードはCR LFだそうですが、 LFにした場合、Windows上でJAVAScriptなどのテストをしたときに 何か不都合があるのでしょうか。 改行コードが CR LF でUNIX上でトラブルになった事例は見つけました。 反対のことが良く分かっていません。よろしくお願いします。

  • 改行コード2種類を混在させたい

    昨日秀丸の改行について質問したものです。 謎が自分なりに解けたので、再度一点質問させてください。 改行コードCRと改行コードLFを混在させたいと思っています。 ノートパッドで混在したデータをWindowsで開くと、 LFが上向きの「↑」になり、 CRが「■」(黒い四角、実際はもう少し幅が狭いです) になるようだと試行錯誤の結果つきとめました。 そこでこの「二種類の改行コードが混在したファイルを自在に作成できるようにしたい」と思っています。 そこで質問を3点にまとめます。 1、ノートパッド上では、その二種類が混在することは可能だとわかりましたが、秀丸では無理なのでしょうか。 2、改行コードはテキストエディタの編集の場合、文字で表現できないのでしょうか? \nというのは改行コードを意味しないのでしょうか。 これで自在に改行コードを文字で表現できれば混在も可能かと思います。 3、少し話しはそれますが、EUCとShift-JISの文字コードはやはり、Shift-JISじゃないと、サーバーにアップしても日本語は文字化けすると思うのですが、どうでしょうか。 宜しくお願い致します。

  • TeraPadの文字コード

    TeraPadの文字コードについて教えてください。 1. TeraPadで扱える文字コードは Shift-JIS、JIS、EUC、Unicode、UTF-8、UTF-8N の6種類あるようですが、このEUCとEUC-JPは 同じものですか? 2. Shift-JISで保存すると、TeraPadの下の部分に 表示される文字コードがSJISとなります。 これはShift-JISのことですか? 3. 短い文章では文字コードを誤認識する場合も あるようですが、どうしたら正しく認識 させられますか? 指定した文字コードで保存できず困っています。

  • 【unix】nkfで文字コードを変えずに改行コードを変えたい

    unix(BSD)初心者です。 PHP経由でunixを操作、ファイルの加工をしております。 nkfコマンドにてLF改行をCR+LF改行にしたいのですが、 ・文字コードは無変化で改行コードだけ変える などということはできるのでしょうか? いろいろな文字コードのファイルが混在している場合に文字コードはそのまま保ちつつ改行コードはCR+LFに統一したいのです。 お詳しい方よろしくお願いします。

  • ファイル出力の改行コードをLFに

    また質問です。よろしくお願いいたします。 WindowsXPでperl5.8.7の環境です。 出力したファイルの文字コードをEUC、改行コードをLFで出力をしようとしています。 なお入力、出力ファイルには日本語が含まれています。 文字コードは希望通りいくのですが改行コードがうまくいきません。 Windowsのデフォルト改行コードCR+LFが出力されてしまいます。 (Terapad(エディタ)の改行コード表示がこうなっています。) (1)binmode(OUT);で行うと、 Wide character in print at jisyo01.pl line 63, <IN> line 97. というエラーが表示され、出力されない。 (2)$xxx[$i] =~ s/\x0D\x0A/\x0A/g; で改行コードを置換しようとしても、置換されず、 CR+LFである。 (3)$/ = pack("C", hex("A"));で 改行コードをchompした後、print OUT "$/";としても、 CR+LFのままである。 上手くいきません。いい方法ないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Vimで改行コード、文字コードを指定して保存するには

    初歩的な質問です・・・。 操作を覚えたいため、WindowsでVimをはじめました。 Vimで文字コードを指定して保存する操作はできたのですが([ファイル]-[エンコード指定]-[保存]-[(指定の文字コード)])、 改行コードを指定して保存する方法がわかりませんでした・・・。 例えば、Shift-Jis,CR+LFのテキストをVimで開いて、文字を挿入した(編集した)あとに、UTF-8,LFで保存したいのですが・・・。 [ずんwiki - vim] http://www.kawaz.jp/pukiwiki/?vim#of617c72 を、今 参考にしているのですが、よくわかりません・・・。 よろしければ、教えてください。

専門家に質問してみよう