日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Byte数组转换成string 的方法积累

發(fā)布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Byte数组转换成string 的方法积累 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

.net的加密算法,返回的都是byte[] 類型,在存貯起來讓人非常頭疼,最簡單的方法就是把byte[]轉(zhuǎn)換成string來存貯,當(dāng)然如果數(shù)據(jù)量大的話,另當(dāng)別論。

所以我就把byte[]轉(zhuǎn)換成string的方法做一個簡單的積累與分析。目前有3種我覺得比較簡單的方案來進(jìn)行轉(zhuǎn)化。

1.Convert.ToBase64String與 Convert.FromBase64String

此方法簡單實(shí)用。轉(zhuǎn)換成的string包含:26個英文字母的大小寫、+、/、0~9的數(shù)字,總共64個字符。一般會在結(jié)尾出現(xiàn)“=”。分析其原因很簡單。

原理:用64個字符來描述6bit的二進(jìn)制。

方式:把byte數(shù)據(jù)連在一起,以6bit為單位進(jìn)行分組,使用64個字符描述6bit數(shù)據(jù),如果分組不足6bit,使用“=”補(bǔ)全。

?

2.自己寫代碼,使用16進(jìn)制字符0~9、A~F來描述數(shù)據(jù)。

原理:使用16個字符來描述4bit的二進(jìn)制。也就是說,一個byte要使用兩個16進(jìn)制字符來進(jìn)行描述。

方式:對每一byte的前半部分與后半部分分別用字符來描述。

此方法需要自己手動進(jìn)行書寫,代碼相當(dāng)簡單。可以Crtl+c Ctrl+v拿來就用。

public static string ByteToString(byte[] bytes)
{
StringBuilder strBuilder = new StringBuilder();
foreach (byte bt in bytes)
{
strBuilder.AppendFormat("{0:X2}", bt);
}
return strBuilder.ToString();
}
public static byte[] StringToByte(string str)
{
byte[] bytes = new byte[str.Length / 2];
for (int i = 0; i < str.Length / 2; i++)
{
int btvalue = Convert.ToInt32(str.Substring(i * 2, 2), 16);
bytes[i] = (byte)btvalue;
}
return bytes;
}

3.使用Encoding的編碼自動轉(zhuǎn)化Encoding.GetEncoding("編碼格式").GetString()和?? Encoding.GetEncoding("編碼格式").GetBytes()

原理:使用編輯規(guī)則強(qiáng)行轉(zhuǎn)換。

方式:使用編輯自身的編碼方式進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換出來的byte數(shù)據(jù)或者是string會出現(xiàn)各種奇怪或者是不可見的字符,存貯起來非常不方便。

?

?


總結(jié):

推薦使用第一種方法來進(jìn)行string的轉(zhuǎn)化,但如果對格式要求時,如自定義機(jī)器語言中,不允許出現(xiàn)“+”“/”這種字符時,考慮會用第二種方法。

如果只是轉(zhuǎn)換成byte數(shù)據(jù)或者是轉(zhuǎn)換成string進(jìn)行內(nèi)存操作時,使用第三種方式是種不錯的選擇。


轉(zhuǎn)載于:https://www.cnblogs.com/taofh/archive/2010/07/27/1786224.html

總結(jié)

以上是生活随笔為你收集整理的Byte数组转换成string 的方法积累的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。