asp.Net 16進文字列を中国語文字列に変換


他の人のページをつかむと、u 1123のような16進数の文字列に遭遇することがあります.ネットで調べてみると、これらの文字列は中国語のコードに変わり、以下のように特記されています.コードはネットで検索したもので、著作権の鬼原作者が所有しています.
        public static string GetGBString(string content)
        {
            string strreg = @"\\u([0-9a-fA-F]{4})";
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(strreg,
                System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.MatchEvaluator evaluator = new System.Text.RegularExpressions.MatchEvaluator(ReplaceMatchEvaluator);
            string result = reg.Replace(content, ReplaceMatchEvaluator);
            return result;


        }
        private static string ReplaceMatchEvaluator(System.Text.RegularExpressions.Match m)
        {
            string reult = ToGB2312(m.Value);
            return reult;

        }
        
        /// <summary>
        /// 16         
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private static string ToGB2312(string str)
        {
            string r = "";
            System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(str, @"\\u([\w]{2})([\w]{2})", System.Text.RegularExpressions.RegexOptions.Compiled | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            byte[] bts = new byte[2];
            foreach (System.Text.RegularExpressions.Match m in mc)
            {
                bts[0] = (byte)int.Parse(m.Groups[2].Value, System.Globalization.NumberStyles.HexNumber);
                bts[1] = (byte)int.Parse(m.Groups[1].Value, System.Globalization.NumberStyles.HexNumber);
                r += Encoding.Unicode.GetString(bts);
            }
            return r;
        }