System.Text.Encoding.Default.GetString

解决方案 »

  1.   

    private void button2_Click(object sender, System.EventArgs e)
    {
    string str="12345";
    string str2="";
    byte[] bit=new byte[str.Length]; for(int i=0;i<str.Length;i++)
    {
    bit[i]=Convert.ToByte(str[i]);
    }
    for(int i=0;i<bit.Length;i++)
    {
    str2=str2+Convert.ToChar(bit[i]);
    }
    MessageBox.Show(str2);
    }
      

  2.   

    !!楼上的,下面这句代码会产生很多多余的对象的:
    str2=str2+Convert.ToChar(bit[i]);
      

  3.   

    其实我是想读取数据库中的BLOB字段,其中存放的是word文档,我不知道这个思路对不对,就是先读到字节数组中,然后在存进字符串
      

  4.   

    回复人: drason(天道酬勤) ( ) 信誉:100  2004-08-22 11:14:00  得分: 0  
     
     
       !!楼上的,下面这句代码会产生很多多余的对象的:
    str2=str2+Convert.ToChar(bit[i]);
      
     
    你的这个问题,可以使用StringBuilder来实现StringBuilder sb=new StringBuilder();sb.Append(Convert.ToChar(bit[i]));回复人: stone1225(小鱼儿) ( ) 信誉:100  2004-08-22 11:15:00  得分: 0  
     
     
       楼上两位的方法都不行啊,我的字符串中原来是有汉字,但是转换后都不能还原
      
     
    Top  
     
     回复人: stone1225(小鱼儿) ( ) 信誉:100  2004-08-22 11:24:00  得分: 0  
     
     
       其实我是想读取数据库中的BLOB字段,其中存放的是word文档,我不知道这个思路对不对,就是先读到字节数组中,然后在存进字符串
      
     
    你的这个思路是对的,唯一能解决的办法就是我提供的方法。但我提供的方法只是一个简单的示例而已。在进行字节数组转字符串的时候要考虑到你放置在数组中的字符的编码的问题。我使用了DEFAULT是使用了系统默认的编码,通常根据OS的版本和语种不同而不同。你还可以选择UNICODE、UTF8、ASCII等,都在System.Text.Encoding下有静态的属性的。当然你也可以不使用静态的属性来解决。方法就是这样,具体的结果能否弄正确就看你的灵活运用了。
      

  5.   

    //string to byte[]
    string TempStr = "我是中国人"
    byte[] Arr = System.Text.Encoding.Default.GetBytes(TempStr);
    //byte[] to string
    System.Text.Encoding.Default.GetString(Arr)