将文本从utf转换为可读文本

时间:2011-06-25 18:55:18

标签: utf-8 decode utf8-decode

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

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

2 个答案:

答案 0 :(得分:1)

ef bb bfUTF-8 BOM。剥去前三个字节并尝试utf8_decode余数。

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

答案 1 :(得分:-1)

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

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

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

UTF16和UTF32总是分别使用2和4个字节来编码每个字符,无论这些字符是否可以用单个字节表示。如果文本编辑器期望UTF8,那将使其无法读取。

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