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为解码后的文字。

posted @ 2019-09-30 10:18  天天的蓝色  阅读(506)  评论(0编辑  收藏  举报