当遇到以下Content-Type的HTML文档时:
text/html; charset=unicode
这句话应该怎样理解?
我目前在Java中使用charset的值作为InputReader构造器的第二个参数,例如:
inputStreamReader = new InputStreamReader(inputStream, charset);
这似乎将文档读取为UTF-16编码,这是否正确?我无法找到有关字符集名称“unicode”的任何文档以了解正确的内容。
当遇到以下Content-Type的HTML文档时:
text/html; charset=unicode
这句话应该怎样理解?
我目前在Java中使用charset的值作为InputReader构造器的第二个参数,例如:
inputStreamReader = new InputStreamReader(inputStream, charset);
unicode
视为UTF-16LE的别名。 - dan04实际上,当你将Microsoft Word导出为HTML格式并查看其生成内容时,它实际上会生成:
<meta http-equiv=Content-Type content="text/html; charset=unicode">
我发现这个原因是因为我需要生成的HTML将在Word中打开并以荷兰语正确显示,在我使用以下代码时:
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
Unicode是一个适用于所有(小于2^24)字符的编号标准,有几种字节格式:UTF-8(可变长度多字节)、UTF-16LE或UTF-16BE(2个字节的序列)甚至还有其他格式。
你所看到的是错误的。
<meta http-equiv=Content-Type content="text/html; charset=unicode">
。因此,Microsoft Word可能是你正在处理的HTML文件的起源。我认为"unicode"意味着UTF-16LE,尽管如果我将HTML文件转换为UTF-8并保留Content-Type
不变,它仍然可以正常打开。 - Simon Kissane