CSV形式の入力ファイルをテキストではなく、バイナリのCSVに変換して利用する利点てなんでしょうか?
つまり、とあるプログラムで「.csvファイル」を、エディタで開くと文字化けする「拡張子なし(または.dat)ファイル」に変換してからそれを入力ファイルとしているのですが、素人の自分から考えると、テキスト形式で作ったCSVファイルをそのまま入力ファイルにすればいいんじゃないかと思ってしまいます。
バイナリの方が読み込み、書き込みが速くなるのでしょうか?
またはバイナリでないとできないことがあるのでしょうか?
ポインタなどが関係しているのでしょか?
ちなみにその開発環境はVC++です。
No.2ベストアンサー
- 回答日時:
おそらく、「バイナリのCSV」という表現が不適切で、単に、テキストファイル(たまたまCSV)を一度、バイナリのファイルに変換して、そのバイナリのファイルを入力にしているということですよね?
それは、入力データの準備をサボるときに使う手法でもあります。
元々のプログラムは、バイナリファイルを読み込むように作られているのでしょう。
なぜ、バイナリファイルなのかは、そのプログラムの設計者に聞かなければなりませんが、わざわざテキストからプログラムの内部表現に変換するのが面倒だとか。
で、それとは別に、そういう設計だと、入力データをバイナリで準備するのが大変だということで、入力データは編集しやすいテキストファイルにしたというのが実情だと思います。
こういう場合、もとのプログラム(バイナリデータを読むもの)を変更して、バグを生み出すよりは、別の単純な変換ブログラムを介在させて(単純なものはバグも少ない)乗り切るというのは、よくある方法です。
独立したプログラムでなくても、処理が分離できるだけでも、見通しは良くなりますから。
回答ありがとうございます。
まさにその通りだと思います。
ちなみによくわかっていないのですが、一口にバイナリに変換すると言っても
いろいろなバイナリがあって
ソースを見ないとわからないですよね?(^_^;)
たとえば、.csvをバイナリモードで開いてどういう変換をかけて.datに
するのかなんてソース見ないとわからないですよね?(~_~;)
No.1
- 回答日時:
>つまり、とあるプログラムで「.csvファイル」を、エディタで開くと文字化けする
csvファイルを開いたのはどのプログラムなんでしょう?
単に文字コードの違いで化けていただけ…なんじゃないんですか?
外部データをバイナリで扱うのであればcsvである必要性はないワケですが……。
# まぁ、もちろんcsv形式でもいいでしょうけどね。
# テキストエディタでお手軽に編集できないって状況でcsvにする利点はなさげですけど。
>バイナリの方が読み込み、書き込みが速くなるのでしょうか?
>またはバイナリでないとできないことがあるのでしょうか?
数値で扱いたい場合に数字→数値変換しないで済む。
って利点はあるでしょうね。
上記のようにcsvである必要は全くありませんが。
# あと、環境によってはエンディアンが問題になるかも知れませんが。
回答ありがとうございます。
手元にある資料によると、CSVテキストをバイナリに変換しているのは確かです。
バイナリのCSVというのは違ったかもしれなません。
もしかしたらメモリマップなんとかが関係しているかもしれないです。
もう少し調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- システム メールのcsv添付ファイルの種類を テキスト形式からカンマ区切り形式に 変更する方法はありますか? 4 2023/03/09 20:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッファとは何ですか
-
エラー:ストリームの終わりを...
-
EXCEL VBAでテキストファイルの...
-
ページ読み込み時に自動的にsub...
-
VBA バイナリ―から文字列にす...
-
機器とRS232Cクロスケーブルで...
-
C++ Builderにおける画像データ...
-
c言語についての質問です
-
入力ファイルをバイナリにする利点
-
24ビットのWaveデータの中身に...
-
FTPでエクセルをPUTするとファ...
-
Microsoft VBAで2GBを超えるフ...
-
エクセルVBA 2千万行のCSVファ...
-
PHPのfgetcsvの処理容量について
-
= (イコール)で始まるセルの値...
-
EOF
-
バイナリエディタのつかいかた
-
C言語で、ファイルを読み込んで...
-
ダンプツール作成… 行き詰まり...
-
VBでCSVファイルを読み込む方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
EXCEL VBAでテキストファイルの...
-
バイナリエディタのつかいかた
-
ページ読み込み時に自動的にsub...
-
VBA バイナリ―から文字列にす...
-
エクセルVBA 2千万行のCSVファ...
-
エラー:ストリームの終わりを...
-
EOF
-
【python】Excelファイルを読み...
-
EXCEL VBAで、バイナリデータの...
-
入力ファイルをバイナリにする利点
-
DXFファイル用クラスライブラリ...
-
バイナリーデータの一部データ...
-
C言語とシリアル通信の送受信...
-
C言語の質問です。バイナリ形...
-
Javaでのエンディアン変換
-
24ビットのWaveデータの中身に...
-
bitmap画像の保存がうまくいき...
-
PHPのfgetcsvの処理容量について
おすすめ情報