关于编码:C#是有效的UTF-8

C# is valid UTF-8

本问题已经有最佳答案,请猛点这里访问。

我有一个以utf8格式读取的字符串(不是从文件读取的,无法检查BOM)。问题是,有时原始文本是用另一种编码形成的,但被转换成了utf8——所以字符串是不可读的,有点乱七八糟。

是否可以检测到该字符串不是实际的utf8?谢谢!


不,它们只是字节。如果你愿意的话,你可以尝试不同的转换,看看是否有有效的字典单词等,但从理论上讲,不知道数据本身是不可能的,也就是说,知道它从不使用某些字符,或总是使用某些字符,或者它包含的大部分是我发现的单词。在给定的词典等中,对一个人来说,它可能看起来像胡言乱语,但计算机无法量化"胡言乱语"。