これは、dos2unix プログラムのソース コードの関連部分です。
if ((ipFlag->Force == 0) &&
(TempChar < 32) &&
(TempChar != 0x0a) && /* Not an LF */
(TempChar != 0x0d) && /* Not a CR */
(TempChar != 0x09) && /* Not a TAB */
(TempChar != 0x0c)) { /* Not a form feed */
RetVal = -1;
ipFlag->status |= BINARY_FILE ;
if (ipFlag->verbose) {
if ((ipFlag->stdio_mode) && (!ipFlag->error)) ipFlag->error = 1;
d2u_fprintf(stderr, "%s: ", progname);
d2u_fprintf(stderr, _("Binary symbol 0x00%02X found at line %u\n"),TempChar, line_nr);
}
break;
}
ファイルに他の制御文字がある場合はバイナリ ファイルと見なされてスキップされ、それ以外の場合はテキスト ファイルとして処理されるようです。そのため、バイナリ ファイル (画像など) にこれらの文字が含まれていない場合、破損します。