byte数组转字符串_VS2012 C# 16进制数与字符串的互换
生活随笔
收集整理的這篇文章主要介紹了
byte数组转字符串_VS2012 C# 16进制数与字符串的互换
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#編程基礎(chǔ)##我要上頭條#
一、字符串轉(zhuǎn)換為16進(jìn)制字節(jié)數(shù)組的步驟
1、將字符串按每?jī)蓚€(gè)字符拆分并插入逗號(hào)為分隔符;
2、將拆分后的字符串分離為字符串?dāng)?shù)組;
3、將字符串?dāng)?shù)組轉(zhuǎn)換成字節(jié)數(shù)組并檢測(cè)字符是否合法;
4、將合法轉(zhuǎn)換后的字節(jié)數(shù)組輸出;
二、將16進(jìn)制數(shù)字節(jié)數(shù)組轉(zhuǎn)換為字符串
1、確定是否需要在字節(jié)之間插入空格或其他特殊符號(hào);
2、將字節(jié)數(shù)據(jù)轉(zhuǎn)換為字符;
3、將轉(zhuǎn)換后的字符串連接起來(lái);
4、將連接后的字符串輸出;
三、代碼
//字符串轉(zhuǎn)換為16進(jìn)制字節(jié)數(shù)組 private byte[] TranslateStringToHexArray(string AsciiString) { int cnt = 0; string inputAsciiArray= ""; //1、將字符串按每?jī)蓚€(gè)字符拆分并插入逗號(hào)為分隔符 for (int i = 0; i < AsciiString.Length; i++) { char temp = AsciiString[i]; if(temp!=' ') { inputAsciiArray += temp; cnt++; if (cnt >= 2) { cnt = 0; inputAsciiArray += ","; } } } //2、將拆分后的字符串分離為字符串?dāng)?shù)組 string[] bStringArray = inputAsciiArray.Split(new char[] { ',', ' ' }); cnt=0; for (int i = 0; i < bStringArray.Length; i++) { if (bStringArray[i].Trim() != "") cnt++; } byte[] bArray1=new byte[cnt]; cnt = 0; //3、將字符串?dāng)?shù)組轉(zhuǎn)換成字節(jié)數(shù)組并檢測(cè)字符是否合法 for (int i = 0; i < bStringArray.Length; i++) { if (bStringArray[i].Trim() != "") { try { bArray1[i] = Convert.ToByte(bStringArray[i].Trim(), 16); cnt++; } catch (Exception E) //發(fā)生錯(cuò)誤時(shí)提示非法字符 { //string ErrMsg = " " + bStringArray[i] + " " + E.Message; string ErrMsg = " 第 " +(i*2+1).ToString() + " 個(gè)字符 "+ bStringArray[i] +" 非法 " + E.ToString(); MessageBox.Show(ErrMsg, "提示"); break; } } } //4、將合法轉(zhuǎn)換后的字節(jié)數(shù)組輸出 byte[] bArray2 = new byte[cnt]; for (int i = 0; i < cnt; i++) { bArray2[i]=bArray1[i]; } return bArray2; } //字節(jié)數(shù)組轉(zhuǎn)換為字符串 private string TranslateHexArrayToString(byte[] InputByteArray,bool AddBlankFlag) { string HexString = ""; if (AddBlankFlag == true) //確定是否需要插入特殊符號(hào) { for (int i = 0; i < InputByteArray.Length; i++) { HexString += InputByteArray[i].ToString("X2")+ " "; //字節(jié)數(shù)據(jù)轉(zhuǎn)換為字符(并插入空格) } } else //字符串終字節(jié)間不插入空格 { for (int i = 0; i < InputByteArray.Length; i++) { HexString += InputByteArray[i].ToString("X2"); //字節(jié)數(shù)據(jù)轉(zhuǎn)換為字符 } } return HexString; }總結(jié)
以上是生活随笔為你收集整理的byte数组转字符串_VS2012 C# 16进制数与字符串的互换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: api如何使用_什么是API, API是
- 下一篇: c++vector替换元素_从发展来看V