Utf 8 将文本从utf转换为可读取文本

Utf 8 将文本从utf转换为可读取文本,utf-8,decode,utf8-decode,Utf 8,Decode,Utf8 Decode,我有一些以“ef bb bf”开头的UTF文本。如何将此消息转换为人类可读文本?vim、gedit等将文件解释为纯文本,并显示所有ef文本,即使我强制他们读取带有几个utf编码的文件。我试过“重新编码”工具,它不起作用。甚至php的utf8_解码也无法生成预期的文本输出 请帮助,我如何转换此文件以便读取它?它是UFT8、UTF16、UTF32吗?这很重要!我假设您想要将文本转换为老式的ASCII(所有字符都是1字节长) UTF8应该已经(至少大部分)可读,因为它对标准ASCII字符使用1个字节,

我有一些以“ef bb bf”开头的UTF文本。如何将此消息转换为人类可读文本?vim、gedit等将文件解释为纯文本,并显示所有ef文本,即使我强制他们读取带有几个utf编码的文件。我试过“重新编码”工具,它不起作用。甚至php的utf8_解码也无法生成预期的文本输出


请帮助,我如何转换此文件以便读取它?

它是UFT8、UTF16、UTF32吗?这很重要!我假设您想要将文本转换为老式的ASCII(所有字符都是1字节长)

UTF8应该已经(至少大部分)可读,因为它对标准ASCII字符使用1个字节,而对特殊/多语言字符(字符代码>127)只使用多个字节。听起来你的文件不是UTF8,或者你已经可以读了!在线内容通常是UTF-8

Unicode字符代码与旧的ASCII代码相同,最多127个字符

UTF16和UTF32始终分别使用2和4个字节对每个字符进行编码,无论这些字符是否可以用单个字节表示。如果文本编辑器需要UTF8,则无法读取


Gedit支持UTF16和UTF32,但您需要在“打开”对话框中显式地“添加”这些编码(并可能显式地选择它们,而不是使用自动检测)

ef bb bf
。去掉前三个字节,然后尝试对剩余的进行解码

$text = "\xef\xbb\xbf....";
echo utf8_decode(substr($text, 3));

也许它不是UTF-8,对该文件运行
文件
工具来查看它的想法。(或者您没有合适的字体来显示text=文件中的内容,比如:data:ASCII text有人指出EF BB BF是UTF8的字节顺序标记。UTF8很少使用这种字体(UTF8不需要),但如果存在,它将以十六进制编码,因此以纯文本打开文件将产生3个垃圾字符,而不是字符串“ef-bb-bf”。听起来该文件是通过输出十六进制表示并将其传输到文本文件中生成的。