怎么将十六进制的string aa="796f75";字符
转换普通的"you"字符然后怎么将中文的string bb="你好";
转成UTF-8的"E4BDA0E5A5BD"十六进制

解决方案 »

  1.   

    http://www.cnblogs.com/ShineTan/archive/2006/08/22/483369.html
      

  2.   


        string aa = "796f75";
                var ret1 = string.Join(string.Empty, (from i in Enumerable.Range(0, aa.Length / 2) select (char)Convert.ToByte(aa.Substring(i * 2, 2), 16)));            string bb = "你好";
                var ret2 = string.Join(string.Empty, Encoding.UTF8.GetBytes(bb).Cast<byte>().ToList().
                    ConvertAll(b => { return b.ToString("X"); }));
      

  3.   


    byte[] data = System.Text.Encoding.UTF8.GetBytes("你好");
    string s = BitConverter.ToString(data).Replace("-", "");
      

  4.   

    上面多了一个没必要的Cast,改写一下
     var ret2 = string.Join(string.Empty, Encoding.UTF8.GetBytes(bb).ToList().ConvertAll(b => { return b.ToString("X"); }));
      

  5.   

    Enumerable 不存在 要怎么调用
      

  6.   

    大概是这些方法
    byte.Parse("79", System.Globalization.NumberStyles.HexNumber)Encoding.UTF8.GetString()Encoding.UTF8.GetBytes()
    BitConverter.ToString(bs).Replace("-","")
      

  7.   

     string aa = "796f75";
                byte[] bs = new byte[3];
                for (int i = 0; i < 3; i++)
    {
        string a = aa.Substring(i * 2,2);
                    bs[i] = byte.Parse(a, System.Globalization.NumberStyles.HexNumber);
    }
                Console.WriteLine(Encoding.UTF8.GetString(bs));
               
                aa="你好";
                bs = Encoding.UTF8.GetBytes(aa);
                string cc = BitConverter.ToString(bs).Replace("-", "");
                Console.WriteLine(cc);
                Console.Read(); 
      

  8.   

    十六进制的string aa="796f75";字符
    转换普通的"you"字符
    不是utf-8的
      

  9.   


     String bb = "你好";            Encoding u8 = Encoding.UTF8;
                byte[] bytes = u8.GetBytes(bb.ToCharArray());
                string Hex = "";
                for (int i = 0; i < bytes.Length; i++)
                {
                    Hex += bytes[i].ToString("X2");
                }
                Console.Write(Hex);
      

  10.   

    string aa = "44657374726f79207468652062617272656c732e";
    用你们的代码转换出来错误 只显示“Des”实际是“Festroy the barrels.”