テキストモードでのファイルの書き込み/読み取り中、改行文字はキャリッジリターンとラインフィードに変換されます。つまり、\nから\r \ nに変換されますが、バイナリモードではこれは行われません。
同様に、ASCII値26はテキストモードでファイルの最後に書き込まれますが、これはバイナリモードでは発生しません。
私はこの質問が以前にSOで行われたことを知っていますが、この動作の理由は見つかりませんでした。
つまり、この動作はテキストとバイナリモードを区別するためだけのものですか、それともこの変換の特定の理由があり、バイナリモードの場合はASCII値26を書き込まないのですか。