C# 在C语言中将拉丁语1转换为UTF8#

C# 在C语言中将拉丁语1转换为UTF8#,c#,encoding,utf-8,latin1,C#,Encoding,Utf 8,Latin1,可能重复: 我想将拉丁语1(ISO-8859-1)转换为C#中的UTF8。最好的方法是什么 我的字符串是“Côty TNHH TM váDL Vi”ệ将拉丁文1(ISO-8859-1)转换为C中的UTF8: Encoding.UTF8.GetString(Encoding.GetEncoding("iso-8859-1").getBytes(s)) 或 在C-Sharp使用系统中。文本: byte[] utf8Bytes = Encoding.UTF8.GetBytes("ASCII to

可能重复:

我想将拉丁语1(ISO-8859-1)转换为C#中的UTF8。最好的方法是什么

我的字符串是“Côty TNHH TM váDL Vi”ệ将拉丁文1(ISO-8859-1)转换为C中的UTF8:

Encoding.UTF8.GetString(Encoding.GetEncoding("iso-8859-1").getBytes(s))

在C-Sharp使用系统中。文本:

byte[] utf8Bytes = Encoding.UTF8.GetBytes("ASCII to UTF8");
byte[] isoBytes = Encoding.Convert(Encoding.ASCII, Encoding.UTF8, utf8Bytes);
string uf8converted = Encoding.UTF8.GetString(isoBytes);
资料来源:


谢谢,但还没有解决!!这不是有效的ISO-8859-1字符串。拉丁语1中没有越南语字符。这里是;如果你在那里看不到你的角色,它就无法转换。在我看来,将结束问题作为一个完全没有意义的问题的副本(到底什么是“拉丁1编码UTF8”?!)似乎是错误的。正如上面@MichaelPetrotta所指出的,这个问题是有缺陷的,但我投票决定重新讨论这个问题;这不可能是关于将“拉丁1编码UTF8”转换为unicode的问题的重复,因为这完全没有意义。虽然最初的结论可能是准确的,也可能不是准确的,但这个问题仍然是离题的,因为它主要是问一个基于意见的问题。即使您打算使用更好的方法重新关闭一个离题问题,也不值得重新打开它。投票结束。我的字符串是“Cô;ng ty TNHH TM và;DL Vi”ệ当使用结果正确但使用Encoding.UTF8.GetString(Encoding.GetEncoding(“iso-8859-1”).getBytes(s))时,则“不正确”。latin1到UTF8的网站转换器必须使用在从latin1转换为UTF8时可处理非latin1字符的算法。因此,当网站能够对无效字符做出有根据的猜测时,似乎C#对非拉丁字符的容忍度较低。问题是,网站使用的是哪种算法,用哪种语言编写?是的,该网站在OP字符串方面也做得不好。并非我所期望的那样——在不知道源代码页的情况下,它归结为猜测。我当然不会说它是“正确的”。网站没有转换任何内容,你的字符串一开始就可以了,只是html需要取消转换。因为该网站是html格式的,所以即使没有任何转换,它们也能正确显示。