我想在 Perl 中的二进制文件上使用 binmode。那么我怎么知道手头的文件是二进制文件还是文本文件呢?
这意味着首先我会读取完整文件以了解它是二进制文件还是文本文件,然后如果它是二进制文件,则使用设置 binmode 倒回 FP。
由于 Perl -B/-T 只检查文本的开始块,它通常将 pdf 分类为文本文件(源代码可以隐藏在任何扩展名中,如 .gif、.pdf 等)。所以我需要读取完整的文件数据来决定它是二进制文件还是文本文件。
我听说任何源代码文件(.pl、.c、.php 等)都不会包含 0x0-0x1f 和 0xff 等不可见字符。
我可以检查每个字节都在这个范围内以声明它是否是源代码文件吗?