c# string 和 byte[]数组之间转换

在文件流读取和存储过程当中,经常涉及到byte[]数组形式存储数据,再此过程中也涉及到String类型字符串和byte[]的类型转换,下面我们举例说明一下。

现在有一个字符串:

string str = "String";

进行以下转换成byte[]数组 bytTemp:

byte[] bytTemp =  System.Text.Encoding.Default.GetBytes("String"); 

但是再转换成字符串:

string strTemp = System.BitConverter.ToString(bytTemp); 

我们发现 str != strTemp,需要进一步处理才可以,操作如下:

1 string[] strSplit = strTemp.Split('-');
2                 byte[] bytTemp2 = new byte[strSplit.Length];
3                 for (int i = 0; i < strSplit.Length; i++) 
4                 {
5                     bytTemp2[i] = byte.Parse(strSplit[i], System.Globalization.NumberStyles.AllowHexSpecifier);
6                 }                    
7                 string strResult = System.Text.Encoding.Default.GetString(bytTemp2); 

最终得到 strResult == str,大功告成,希望对于现在浏览的你有所帮助。

原文地址:https://www.cnblogs.com/zk-zhou/p/7354119.html