c# 暴力破解中文编码方式
从api获取到一段文字,又不知道是啥编码,换了好多种方式都不行,直接暴力破解,看看哪个能出来正确中文,就用哪个
public static void DecodeStr(string str) { foreach (var m in Encoding.GetEncodings()) { foreach (var n in Encoding.GetEncodings()) { byte[] x = Encoding.GetEncoding(m.CodePage).GetBytes(str); string y = Encoding.GetEncoding(n.CodePage).GetString(x); Console.WriteLine(string.Format("{0},{1} => {2},{3} : {4}", m.CodePage, m.Name, n.CodePage, n.Name, y)); } } }
最终,知道了方式,擦,这要靠猜,猜到什么时候。
var m = Encoding.GetEncoding("iso-8859-1").GetBytes(filename); var n = Encoding.GetEncoding("utf-8").GetString(m);
filename为传来编码,n为解码后的文字。