【发布时间】:2013-11-22 17:38:35
【问题描述】:
我有 base64 编码的字符串,结果是 iso-8859-2 编码,我需要从中获取字符串。
我正在使用 Windows Phone 8 C#/XAML .NET 4.5 应用程序。
我现在正在做的是:
private string decodeXML(string xml)
{
byte[] data = Convert.FromBase64String(xml); //I decode the base64 data
string decoded = Encoding.UTF8.GetString(data, 0, data.Length);
//and here get a string from it using UTF8, problem being the data are in "iso-8859-2"
return decoded;
}
所以我尝试了:
private string decodeXML(string xml)
{
byte[] data = Convert.FromBase64String(xml);
string decoded = Encoding.GetEncoding("iso-8859-2").GetString(data, 0, data.Length);
return decoded;
}
但我得到一个例外
System.ArgumentException was unhandled by user code
HResult=-2147024809
Message='iso-8859-2' is not a supported encoding name.
Parameter name: name
Source=mscorlib
ParamName=name
StackTrace:
at System.Globalization.EncodingTable.internalGetCodePageFromName(String name)
at System.Globalization.EncodingTable.GetCodePageFromName(String name)
at System.Text.Encoding.GetEncoding(String name)
.....and the rest of the stack trace...
我应该如何从中获取保留特殊字符的字符串? (使用哪种方式从中获取字符串?)
【问题讨论】:
-
您可以尝试使用this table手动进行转换
标签: c# windows-phone-8 character-encoding