public static byte[] StrToByteArray(string s)
        {
            List<byte> value = new List<byte>();            foreach (char c in s.ToCharArray())
            {
                value.Add(Convert.ToByte(c));
            }
            return value.ToArray();
        }这是将一个字符串转化成一个字节数组的方法。
举个例子,如下:        private void button1_Click(object sender, EventArgs e)
        {
            byte[] tarray = StrToByteArray("1234");
        }那么我得到的数组tarray 的4个元素分别是—>[0]49
[1]50
[2]51
[3]52我现在想实现一个与StrToByteArray逆向的一个方法。也就是说穿进去byte数组,返回来的是字符串。
举个例子(在上个例子基础上)        private void button1_Click(object sender, EventArgs e)
        {
            byte[] tarray = StrToByteArray("1234");
           //这个时候我调用YYY方法,参数是tarray,返回的值应该是“1234”
            string y = YYY(tarray );
        }希望高手帮忙写一下这个YYY方法。
感激不尽!!!!!

解决方案 »

  1.   

    public static string ByteToStr(byte[] bb)
        {
            string result = "";
            foreach (byte b in bb)
            {
                result += Convert.ToChar(b);
            }
            return result;
        }
      

  2.   


            public static string YYY (byte[] s)
            {
                //应该怎么写?
                
                
                return ;
            }试着写了下 没成功 基础有限
      

  3.   

      public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                byte[] tarray = StrToByteArray("1234");
                foreach (byte c in tarray)
                {
                    Response.Write(c + "<br>");
                }
                string result = ByteArrarToStr(tarray);
                Response.Write("result:" + result);        }        private string ByteArrarToStr(byte[] tarray)
            {
                string re = "";
                foreach (byte c in tarray)
                    re += Convert.ToChar(c).ToString();
                return re;
            }        public static byte[] StrToByteArray(string s)
            {
                List<byte> value = new List<byte>();            foreach (char c in s.ToCharArray())
                {
                    value.Add(Convert.ToByte(c));
                }
                return value.ToArray();
            }    }
      

  4.   


    public static string ByteToStr(byte[] bytes)
            {
                string rtn = "";
                foreach (var item in bytes)
                {
                    rtn += (char)item;
                }
                return rtn;
            }
      

  5.   

    微软提供了现成的类        Encoding  unicode = Encoding.Unicode;
            // 字符串转字节数组
            public static byte[] StrToByteArray(string s)
            {
                return unicode.GetBytes(s);
            }
            // 字节数组转字符串
            public static string ByteArrayToStr(byte[] bytes)
            {
                return unicode.GetString(bytes);
            }除了Unicode还有如UTF8之类其他一些编码格式,你可以去MSDN看看
      

  6.   

    Encoding  unicode = Encoding.Unicode;前面也加个static
      

  7.   

    public String(char[] value);
    这个不是String自带的构造函数么
    能用这个么
      

  8.   

    string s="不懂不是你的错,不去看书看MSDN就是你的错";
    byte[] bs=System.Text.Encoding.ASCII.GetBytes(s);
    string ss=System.Text.Encoding.ASCII.GetString(bs);
    文字有编码你不知道吗?Convert.ToByte方法多字节字符会越界抛溢出异常你不知道吗?