因为char类型是Unicode编码的,怎样搞返回也是Unicode编码啊...

解决方案 »

  1.   

    自己顶下,没人知道吗?
    其实我自己会将Unicode字符转成gb2312字符,但是不知道转了以后用什么类型装着那个字符,
    如果用char类型,又变回Unicode了,
    所以请高手指点一二
      

  2.   

    System.Text.Encoding.GetEncoding("GB2312").GetBytes(
    System.Text.Encoding.GetEncoding("GB2312").GetString(
      

  3.   


    public string ConvertEncdoing(string source)
    {
    Encoding gb2312 = Encoding.GetEncoding("gb2312");

    return gb2312.GetString(Encoding.Convert(Encoding.Unicode, gb2312, Encoding.Unicode.GetBytes(source)));
    }
      

  4.   

    //str为需要转换的字符串
    byte[] bytes = System.Text.Encoding.GetEncoding("Unicode").GetBytes(str);
    str = System.Text.Encoding.GetEncoding("gb2312").GetString(bytes);
      

  5.   

    string s="你";
    char[] values=s.ToCharArray();
    (int)values[0]
      

  6.   

    这个是返回Unicode的编码
    我要gb2312的...
      

  7.   

    System.Text.Encoding.GetEncoding("GB2312")
      

  8.   

    Encoding ec = System.Text.Encoding.GetEncoding("GB2312");
    byte[] bc = ec.GetBytes("汉字");
      

  9.   

                string s = "购房款多数据流飞";
                byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);
                Text = BitConverter.ToString(buf);
      

  10.   

    然后怎样转成int类型啊?
    我要一个int类型的gb2312编码,这是我最终目的
      

  11.   

    你自己说要输出编码的嘛
    怎么又要变int型了
    你要int就给你int,不过看来用int表示一点用都没有
                string s = "购房款多数据流飞";
                byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);
                int[] ret = new int[buf.Length / 4];
                for (int i = 0; i < buf.Length; i += 4)
                {
                    ret[i / 4] = BitConverter.ToInt32(buf, i);
                }
                return ret;
      

  12.   

    我估计你要的是这种效果吧
                string s = "购房款多数据流飞aa";
                byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);
                StringBuilder sb = new StringBuilder();
                int index = 0;
                for (int i = 0; i < buf.Length; i++)
                {
                    sb.Append(s[index]);
                    sb.Append(':');
                    if (char.GetUnicodeCategory(s, index++) == UnicodeCategory.OtherLetter)
                        sb.Append(BitConverter.ToUInt16(buf, i++));
                    else
                        sb.Append(buf[i]);
                    sb.Append(',');
                }
                sb.Remove(sb.Length - 1, 1);
                Text = sb.ToString();
      

  13.   

    怎么将unicode转换到gb2312啊, 我是新手,请教下