
DOSで、2つのASCIIデータをバイナリコピー(COPY /b)すると1バイトのゴミが入る場合があるのですが、なぜこのようになるのでしょうか?
しかし、必ずゴミが入るわけではないようにも思います。
→たまたま入る時がある?
→ASCIIデータの形によって、入る時がある?
バイナリコピーしない場合(COPY)は混在することは無いように思います。
昔、ASCIIデータは、バイナリコピーしない方が無難と聞いたことがある気もするのですが、昔過ぎて理由等忘れてしまいました。
詳しい方いらっしゃいましたらお教えいただけると助かります。
No.1ベストアンサー
- 回答日時:
手元の環境でやってみました(WindowsのDOS窓ですが)
その1バイト増えるごみ というのはもしかしたらファイルの最後に
付いておりデータとして 0x1A(16進) ではありませんか?
(此方でやった限り逆にアスキーコピーした時に付いてるようですが)
そうならファイルの終了マーカを意味している物ではないかと思います
http://support.microsoft.com/kb/29852/ja
ファイルの中間にデータが増えるとか言うのでしたら
具体的なファイルのダンプコードなどをチェックするか
ここに乗せた方がいいのではないかと思います
アスキー(テキスト)ファイルの作成方法によってはファイル終了マーカとして
最後に0x1Aが書き込まれます
例)
DOSプロンプト上で copy con ファイル名 等として直接ファイル入力
終了する時には CTRL+Z の入力となりそのような作成すると
0x1Aが書き込まれます
プログラムなどでファイル造作する場合でもアスキーモードで開けば
このデータは無視されるはずです

No.2
- 回答日時:
No1回答者さんからも指摘がありますが、テキストファイルの末尾にあるEOFコードがその正体でしょう。
ただこれも、どのテキストファイルにも存在するかというと、必ずしもそうとは言い切れません。Windows付属のメモ帳(NOTEPAD.EXE)で作成したテキストファイルも、確かWin98の頃にはもうEOFコードは付かなくなっていたと思います。もはやEOF自体が、かなり歴史的理由のためだけに存在するものになっているため、なくても問題ないでしょう。今となっては、EOFがあることで問題を起こすことの方が多いかも知れません。また、これはDOSの頃からの伝統ですが、COPYの/Bオプションの機能は、複数ファイルを結合する時、ファイル内にEOFコードがあってもそこで停止しないようにするだけです。なので、もし結合するバイナリファイルの中にEOFと同じデータがない場合は、/Bをつけてもつけなくても動作は同じです。これとは逆に、末尾がEOFでないテキストファイルを結合する時も、やはり/Bの有無には関係なく同じファイルが出来上がります。
テキストとバイナリでファイルを区別することは、フロッピーですら贅沢品であった時代の遺物と言ってよいのでは?今はもう個人でも普通にGB単位の大きさのファイルを扱う時代です。マシンパワーもファイル管理ごときでは負荷らしい負荷になりません。テキストかバイナリかでコマンドの動作を変えることの合理性は、すでにほぼ失われたと個人的には思います。
余談ながら、ftp転送でも同様にテキストとバイナリを区別できますが、これもやはり歴史的理由と言えるでしょう。良かれと思ってテキストモードで転送したのに、サーバ側で勝手に改行コードや文字コードを変えられてしまい、えらい目に遭ったなんて言うトラブルもありますし、こちらも害の方が目立つ状況です。全てバイナリモードでアップロードすれば、こうした問題は起きないので、普通のユーザーにとってはむしろ確実です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) exFATの外付けSSDからパソコンのNTFSの内蔵ストレージにコピーした場合はコピーしたデータのハ 2 2023/08/09 19:51
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- その他(コンピューター・テクノロジー) なぜデータの整合性を確認する時はハッシュ値で確認するのでしょうか?ハッシュ値は衝突する可能性があるの 5 2023/07/05 20:38
- サーバー ファイルサーバのデータのバックアップ 1 2023/03/15 10:30
- その他(プログラミング・Web制作) 質問です。 sdカード内に、データ①があります。これはaというファイルに入っています。sd→a→①で 4 2023/07/24 14:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイクロソフトアカウントの認証
-
ホーム及びロック画面の消費が1...
-
エクスプローラのアクティブウ...
-
iobitのUninstaller or Geek Un...
-
windowsは使っていると...
-
勝手に無変換になる
-
Windows11でタスクバー・スタ...
-
写真をコピーしたら作成日時が...
-
通知領域のアイコンや文字サイ...
-
windows11、23H2用の更新プログ...
-
要件を充たしていないwindows11...
-
Windows11 デスクトップ アイコ...
-
Windowsの"legacy"ってなんです...
-
新品のパソコンをお店で買った...
-
Windows11のデスクトップのアプ...
-
Windows Media Playerを開くと...
-
windows11でクイックスキャン等...
-
Microsoftのページだけ全て「申...
-
WindowsってOSなんですか?
-
windows11 きれいなロック画面...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows11でタスクバー・スタ...
-
写真をコピーしたら作成日時が...
-
windows11、23H2用の更新プログ...
-
エクスプローラのアクティブウ...
-
勝手に無変換になる
-
ホーム及びロック画面の消費が1...
-
Windows11のデスクトップのアプ...
-
要件を充たしていないwindows11...
-
windows11でクイックスキャン等...
-
windows11 きれいなロック画面...
-
MS-DOS 6.22のダウンロード
-
Ubuntnがインストールされてい...
-
未来のWindowsってLinuxベース...
-
Windows nT系のLinux系より優れ...
-
windowsは使っていると...
-
windows 11 Pro を入れた、 自...
-
Windowsの"legacy"ってなんです...
-
Windows Media Playerを開くと...
-
「Wi-Fiアダプターへのアクセス...
-
新品のパソコンをお店で買った...
おすすめ情報