C# 0xF8是UTF-8编码的XML文档中的有效字节吗?
我收到一份声称是UTF-8的文件(C# 0xF8是UTF-8编码的XML文档中的有效字节吗?,c#,xml,encoding,utf-8,C#,Xml,Encoding,Utf 8,我收到一份声称是UTF-8的文件()。过去我遇到过一些问题,发送方的编码声明不太可靠(即文档被声明为具有给定的编码,而实际上它们没有),因此我尝试使用此工具检查,0xF8字节表示此文档不是UTF-8编码的 但是,与此相反,将UTF-8中表示的挪威字符“ø”列为0xF8。(本页为挪威文,但我所指的数据来自本页底部的表格。) 有人能帮我解决这个问题吗?我在这里感到很困惑 谢谢 ø是U+00F8,因为它不是ASCII格式,所以不能是单个UTF-8代码单元。它的代表是。因此,如果您在某个文档中有单独的0
)。过去我遇到过一些问题,发送方的编码声明不太可靠(即文档被声明为具有给定的编码,而实际上它们没有),因此我尝试使用此工具检查,0xF8字节表示此文档不是UTF-8编码的
但是,与此相反,将UTF-8中表示的挪威字符“ø”列为0xF8。(本页为挪威文,但我所指的数据来自本页底部的表格。)
有人能帮我解决这个问题吗?我在这里感到很困惑
谢谢 ø是U+00F8,因为它不是ASCII格式,所以不能是单个UTF-8代码单元。它的代表是。因此,如果您在某个文档中有单独的0xF8,那么是的,它是无效的UTF-8
文档似乎使用了拉丁语-1或Windows代码页1252。utf8checker工具是正确的,而您所指的页面是错误的。“ø”的UTF-8表示为0xC3 0xB8(两个字节)
我认为该页面不太可靠,它还显示“UTF-8=UCS-1”
通过检查,F8只能用作5字节UTF-8序列的第一个字节,但目前不存在需要5字节编码的Unicode字符。所以不是。可能是8859-1或拉丁语-1。@9000:ISO 8859-1是拉丁语-1。这只是两个完全相同的字符集和编码的不同名称。是的,我应该说ISO8859-1又名Latin-1。挪威的网页说UTF-16是固定长度编码,这也是错误的。