C#将Unicode编码转换为汉字字符串的简单方法

作者:袖梨 2022-06-25

C# 将js中的UNICODE转换为字符串,网上找的都不行,遇到有数字的转不出来,稍稍改了点,OK了!

实例如下:

 

 代码如下复制代码

/// 将Unicode编码转换为汉字字符串

    ///

    /// Unicode编码字符串

    /// 汉字字符串

    public static string ToGB2312(string str)

    {

      MatchCollection mc = Regex.Matches(str, "([\w]+)|(\\u([\w]{4}))");

      if (mc != null && mc.Count > 0)

      {

        StringBuilder sb = new StringBuilder();

        foreach (Match m2 in mc)

        {

          string v = m2.Value;

          if (v.StartsWith("\"))

          {

            string word = v.Substring(2);

            byte[] codes = new byte[2];

            int code = Convert.ToInt32(word.Substring(0, 2), 16);

            int code2 = Convert.ToInt32(word.Substring(2), 16);

            codes[0] = (byte)code2;

            codes[1] = (byte)code;

            sb.Append(Encoding.Unicode.GetString(codes));

          }

          else

          {

            sb.Append(v);

          }

        }

        return sb.ToString();

      }

      else

      {

        return str;

      }

    }

 

相关文章

精彩推荐