如题..
如何将u12289 (类似的u12290,u19968等) 转换成汉字.这个好像是utf-8码.. 他现在是个string型变量string str="u12289";求详细步骤将他转换成汉字..解答者的步骤请带点注释..以便我能理解.. 十分感谢...

解决方案 »

  1.   


    这是我生成图片字库后带的配置文件里的..
    他对应的应该是个汉字..  那类似uxxxx的不是utf-8 还有可能是什么呢?
      

  2.   

    你给的就不对!!   public static string ConvertToGB(string unicodeString)
            {
                string[] strArray = unicodeString.Split(new string[] { @"u" }, StringSplitOptions.None);
                string result = string.Empty;
                for (int i = 0; i < strArray.Length; i++)
                {
                    if (strArray[i].Trim() == "" || strArray[i].Length < 2 || strArray.Length <= 1)
                    {
                        result += i == 0 ? strArray[i] : @"u" + strArray[i]; continue;
                    } 
                    for (int j = strArray[i].Length > 4 ? 4 : strArray[i].Length; j >= 2; j--)
                    {
                        try
                        {
                            result += char.ConvertFromUtf32(Convert.ToInt32(strArray[i].Substring(0, j), 16)) + strArray[i].Substring(j);
                            break;
                        }
                        catch
                        {
                            continue;
                        }
                    }
                } return result;
            }        public static string ConvertToUnicode(string strGB)
            {
                char[] chs = strGB.ToCharArray(); string result = string.Empty; foreach (char c in chs)
                {
                    result += @"u" + char.ConvertToUtf32(c.ToString(), 0).ToString("x");
                }
                return result;
            }
      

  3.   


    新宋体-30pt
    {
      type image
      source 新宋体-30pt.png  glyph % 0.006835938 0 0.02734375 0.0390625
      glyph ( 0.06933594 0 0.08984375 0.0390625
      glyph ) 0.1318359 0 0.1523438 0.0390625
      glyph + 0.1943359 0 0.2148438 0.0390625
      glyph - 0.2568359 0 0.2773438 0.0390625
      glyph . 0.3193359 0 0.3398438 0.0390625
      glyph / 0.3818359 0 0.4023438 0.0390625
      //这个文件对应的一个图片字库
      //头部信息.. glyph [字符][坐标][坐标][坐标][坐标]
      //后面部分一些汉字就会变成这样
      glyph u12289 0.3193359 0.25 0.359375 0.2890625
      glyph u12290 0.3818359 0.25 0.421875 0.2890625
      glyph u19968 0.4443359 0.25 0.484375 0.2890625
      glyph u19977 0.5068359 0.25 0.546875 0.2890625
      glyph u19978 0.5693359 0.25 0.609375 0.2890625
      glyph u19979 0.6318359 0.25 0.671875 0.2890625
      glyph u19981 0.6943359 0.25 0.734375 0.2890625
      glyph u20010 0.7568359 0.25 0.796875 0.2890625
      glyph u20013 0.8193359 0.25 0.859375 0.2890625
      glyph u20048 0.8818359 0.25 0.921875 0.2890625
      glyph u20080 0.9443359 0.25 0.984375 0.2890625
      //以下省略
      

  4.   


    那我这些uxxxxx算什么呢? 既然不是正确的utf-8
    那你给出的方法我也不能用了吧.....
      

  5.   


    郁闷...  那这东西还奇怪了.. 长得像utf-8 .. 还少一位...
      

  6.   


    根据图片好像可以看出来 应该是这样的
    u12289    是一个顿号
    u12290    是一个空心的句号
    u19968    汉字 一
    u19977    汉字 三
    u19978    汉字 上
    u19979    汉字 下
    u19981    汉字 不
    u20010    汉字 个
    u20013    汉字 中
    ............
      

  7.   

    似乎是“汉字内码”,看看这个:
    http://blog.csdn.net/kunshan_shenbin/archive/2008/09/08/2898486.aspx
      

  8.   

    直接把 int 转化为 char 就可以了,比如:
    Console.WriteLine((char)19978); // 输出: 上
      

  9.   

    /*
    u12289 是一个顿号
    u12290 是一个空心的句号
    u19968 汉字 一
    u19977 汉字 三
    u19978 汉字 上
    u19979 汉字 下
    u19981 汉字 不
    u20010 汉字 个
    u20013 汉字 中
    */
    class Program
    {
      static void Main()
      {
        string input = "u12289u12290u19968u19977u19978u19979u19981u20010u20013";
        foreach (string s in input.Trim('u').Split('u'))
        {
          System.Console.WriteLine((char)int.Parse(s));
        }
      }
    }
    /* 程序输出:









    */