当我通过API响应将其返回时,我有一个基本上像这样的字符串:
Ardap Fogger � Zuverl�ssiger Vernebler Zur Ungeziefer- Und Flohbek�mpfung F
在C#中将其转换后,字符串的最终版本应如下所示:
Ardap Fogger – Zuverlässiger Vernebler Zur Ungeziefer- Und Flohbekämpfung F
我尝试了几种转换方法,如下所示:
public string ConvertStringToUTF8(string title)
{
byte[] data = Encoding.Default.GetBytes(title);
return Encoding.UTF8.GetString(data);
}
这没有用。我也尝试了以下方法:
var title = System.Uri.UnescapeDataString(" Ardap Fogger � Zuverl�ssiger Vernebler Zur Ungeziefer- Und Flohbek�mpfung F");
这两种方法产生的字符串都与输入的字符串相同。
如何将该字符串转换为该版本:
Ardap Fogger – Zuverlässiger Vernebler Zur Ungeziefer- Und Flohbekämpfung F
有人可以帮我吗?
答案 0 :(得分:1)
首先,您应该知道来源是哪种编码。很有可能是德国MS-DOS。 尝试对页面850进行编码:Encoding.GetEncoding(850)。另外,您的C#代码已经具有编码,可能是UTF。因此,您尝试将UTF转换为UTF。尝试读取文件。
public string ConvertStringToUTF8(string title)
{
byte[] data = Encoding.Default.GetBytes(title);
return Encoding.GetEncoding(850).GetString(data);
}