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,大功告成,希望对于现在浏览的你有所帮助。