如何检测 UTF-8 文件是否使用代码点与二进制编码?

问题描述 投票:0回答:2

我有一个 UTF-8 编码的文本文件,但如何检测它是代码点还是二进制?我问这个问题是因为 NLTK (https://www.nltk.org/api/nltk.tokenize.html) 说我必须从二进制中解码它,如果它是这种形式的话。请注意“编码”这个词的重载。

问这个问题是因为使用 punkt 的软件包在文件上被阻塞,我想验证它不是二进制格式。谢谢!

我尝试过在 Emacs 中检测编码,但它只返回 UTF-8,这确实不是我的问题。识别编码系统软件也无法提供答案。

unicode binary nltk
2个回答
0
投票

解释结果时要小心,因为某些文件可能包含文本和二进制数据的混合。最终,确定 UTF-8 文件主要包含代码点还是二进制编码可能需要结合启发法、分析,在某些情况下还需要根据文件的特定上下文和内容进行人工判断


0
投票

UTF-8、UTF-16 和 UTF-32 是字符编码,而不是代码点。代码点是指分配给字符集中每个字符的数值,例如 Unicode 字符集。当您有 UTF-8 编码的文本文件时,这意味着文件中的字符使用 UTF-8 字符编码表示。

© www.soinside.com 2019 - 2024. All rights reserved.