gpt4 book ai didi

centos6 - dos2unix 修改二进制文件 - 为什么

转载 作者:行者123 更新时间:2023-12-02 16:32:39 26 4
gpt4 key购买 nike

默认情况下,它不会影响二进制文件。

我在一个包含图像的文件夹中对其进行了测试,虽然大多数图像没有受到影响,但也有一些图像受到了影响。如果 dos2unix 无法区分二进制文件和文本文件,我是否必须专门包含和/或排除某些文件扩展名才能正常工作?

注意:当我在任何 jpg 上运行 file image.jpg 时,无论它是否被修改,结果都是:

JPEG image data, JFIF standard 1.01

最佳答案

这是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;
}

似乎如果文件有其他控制字符,则将其视为二进制文件并跳过,否则将其作为文本文件处理。因此,如果二进制文件(例如图像)不包含这些字符,它将被损坏。

关于centos6 - dos2unix 修改二进制文件 - 为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34257924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com