1
4
有些字节序列
建议
UTF-8编码可能正在使用中(请参见
Wikipedia
)如果
另一件需要注意的是,shell被设置为使用utf-8,这就是为什么文件首先是用utf-8编写的。可以想象,您可以将shell设置为使用另一种编码,如utf-16,然后使用命令
将使用UTF-16编写文件。 |
2
4
来自 file manpage :
|
3
3
UTF-8是“ASCII友好型”,从某种意义上说,只包含ASCII字符的文本文件将完全相同,不管它是用ASCII还是UTF-8编码的。 注意:有些人认为有256个ASCII字符。只有128个。ISO-8859-X是一系列编码,前128个字符是ASCII,其余是其他字符。 此外,UTF-8的设计非常好,它提供了几个属性,例如,有些字符是用1字节编码的,有些字符是用2、3或4字节编码的,但是4字节字符永远不会包含任何较短字符的字节,3或2字节字符也不会。所有1字节字符都用字节0到127进行编码,而所有较长的字符则用128到255之间的字节序列进行编码。 非UTF-8字节流(例如二进制文件或UTF-16文件)通常可以排除为UTF-8,因为它可能会违反这些属性。唯一的例外是普通的ASCII文件,当然可以无害地解释为UTF-8。 所以简而言之,可以检测到UTF-8文件,因为大多数“随机”字节序列在UTF-8中都是非法的,所以不违反任何规则的东西是 很可能 成为UTF-8。 |
4
2
它在文件的最开头插入一个BOM。 bom(byte order mark)告诉编辑器文件的编码(以及其他类似big/little endian编码的东西) 你可以发现存在的BOM正在检查文件的大小。超过2个字节(我猜是4或5个字节)。 This Article about BOMs 在维基百科可以帮助很多。 更新:是的,我错了。 即使有UTF-8的BOM,但大多数编辑器都有 不是 在开头插入bom,因为bom代码与ascii不兼容,而utf-8设计的目标之一是与ascii兼容。所以插入UTF-8的BOM真的很糟糕! 所以编辑们真的 猜测 如果文件是否以UTF-8编码。 又一个问题!: 似乎编辑们对文件的真正编码有错误的猜测。这种情况罕见吗?很明显,小文本有更多的机会出现这种情况。 |
Community wiki · 构造和验证Gigya签名 1 年前 |
Adam · Django+iis请求。身体问题 6 年前 |
IMAN4K · 将ASCII字符串转换为7位GSM编码方案 6 年前 |
iphonic · NSString解码 6 年前 |
a4w · 使用base64编码大文件 6 年前 |
Stanleyrr · 测试集的反向差分编码是如何工作的? 6 年前 |
Girish · php导入csv特殊字符问题 6 年前 |
jpn · 如何将加密的256位转换为20位表示 6 年前 |