我想解码Java中的一些UTF-8字符串。 这些字符串包含一些组合unicode字符,如CC 88(组合diaresis)。 字符序列似乎没问题,根据http://www.fileformat.info/info/unicode/char/0308/index.htmJava UTF-8奇怪的行为
但是转换成String之后的输出无效。 有什么想法?
byte[] utf8 = { 105, -52, -120 };
System.out.print("{{");
for(int i = 0; i < utf8.length; ++i)
{
int value = utf8[i] & 0xFF;
System.out.print(Integer.toHexString(value));
}
System.out.println("}}");
System.out.println(">" + new String(utf8, "UTF-8"));
输出:
{{69cc88}} >i?
+1:在终端(gnome-terminal)的Ubuntu 9.04上,输出是带有diaresis的i,你可能期望它。 – 2009-08-13 13:48:10
我很喜欢这个词“diaeresis”。我可能不得不在谈话中更频繁地使用它。 – skaffman 2009-08-13 13:49:56
:) 尝试“变音符号”,你将成为晚上的男人。 – 2009-08-13 13:55:56