获取文件的字符编码而不将整个文件读入内存

Gor*_*onM 6 php file character-encoding

我知道你是否需要在PHP中获取文件的字符编码

var_dump (mb_detect_encoding (file_get_contents ("somefile.txt")));
Run Code Online (Sandbox Code Playgroud)

但是,使用大文件执行此操作并不是很实用,因为它占用了大量内存.

有没有办法可靠地确定字符编码而无需将整个文件读入内存?

Str*_*tr. 0

不,没有办法在不读取整个文件的情况下可靠地确定字符编码。

原因:与 ASCII(它仍然是许多编码的基础部分)不同的字符代码是随机分布在文件中的。它们可能碰巧都在你没有读过的部分。

当然,有些编码从一开始就很容易识别,但这不是这里的问题。

(让您有机会接受答案作为解决方案,尽管答案可能已在评论中给出,但您不应该做什么(SO政策)。)