我知道這個問題在堆棧溢出之前被問了兩次,但這次我要求最有保證的方式(不改變數據值的方式)。我想從字符串轉換爲字節[]然後回到字符串。我可以用ByteConverter
,Convert
,Encoding
,BitConverter
,HttpServerUtility.UrlTokenEncode/HttpServerUtility.UrlTokenDecode
下面的代碼:字節[]和字符串之間轉換的最佳方式是什麼?
string s2 = BitConverter.ToString(bytes); // 82-C8-EA-17
String[] tempAry = s2.Split('-');
byte[] decBytes2 = new byte[tempAry.Length];
for (int i = 0; i < tempAry.Length; i++)
{
decBytes2[i] = Convert.ToByte(tempAry[i], 16);
}
或下面的代碼:
private string ToString(byte[] bytes)
{
string response = string.Empty;
foreach (byte b in bytes)
response += (Char)b;
return response;
}
如果你不還是得到我想要的,我想知道是哪個方式的作品,而不是,我想知道應該使用哪種方式。嘿,我寧願使用最小大小的字節數組,因爲我將通過網絡發送這個數組,我將使用前256個字節。
如果您想要使用最少數據量的數據['Convert.ToBase64String'](https://msdn.microsoft.com/en-us/library/system.convert.tobase64string(v = vs.110) ).aspx)會給你一個比上面列出的所有項目更短的字符串。 –
另外,什麼問題「[如何將字節數組轉換爲十六進制字符串,反之亦然?](http://stackoverflow.com/questions/311165/how-do-you-convert-byte-array-to - 十六進制字符串 - 反之亦然)「不適合你? –