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

时间:2023-06-10 13:03:44

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

现在有一个字符串:

string str = "String";

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

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

但是再转换成字符串:

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

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

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

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