无法从 UTF8 转换为 ASCII
Cannot convert from UTF8 to ASCII
我使用了一些在线编码检测,所以他们都说
2015%2d03%2d31
采用UTF8编码。
所以我用这个代码来解码它并查看
2015-03-31
但是没用。
private static string UTF8toASCII(string text)
{
System.Text.Encoding utf8 = System.Text.Encoding.UTF8;
Byte[] encodedBytes = utf8.GetBytes(text);
Byte[] convertedBytes =
Encoding.Convert(Encoding.UTF8, Encoding.ASCII, encodedBytes);
System.Text.Encoding ascii = System.Text.Encoding.ASCII;
return ascii.GetString(convertedBytes);
}
有线索吗?
这不是 UTF-8 编码,而是 URL 编码。使用 UrlDecode:https://msdn.microsoft.com/en-us/library/system.web.httputility.urldecode%28v=vs.110%29.aspx
return System.Web.HttpUtility.UrlDecode(text);
如果您的文本实际上可能包含 UTF-8 数据,您可以使用此版本:
return System.Web.HttpUtility.UrlDecode(Encoding.UTF8.GetBytes(text), Encoding.UTF8)
我使用了一些在线编码检测,所以他们都说
2015%2d03%2d31
采用UTF8编码。
所以我用这个代码来解码它并查看
2015-03-31
但是没用。
private static string UTF8toASCII(string text)
{
System.Text.Encoding utf8 = System.Text.Encoding.UTF8;
Byte[] encodedBytes = utf8.GetBytes(text);
Byte[] convertedBytes =
Encoding.Convert(Encoding.UTF8, Encoding.ASCII, encodedBytes);
System.Text.Encoding ascii = System.Text.Encoding.ASCII;
return ascii.GetString(convertedBytes);
}
有线索吗?
这不是 UTF-8 编码,而是 URL 编码。使用 UrlDecode:https://msdn.microsoft.com/en-us/library/system.web.httputility.urldecode%28v=vs.110%29.aspx
return System.Web.HttpUtility.UrlDecode(text);
如果您的文本实际上可能包含 UTF-8 数据,您可以使用此版本:
return System.Web.HttpUtility.UrlDecode(Encoding.UTF8.GetBytes(text), Encoding.UTF8)