首页
/
每日頭條
/
科技
/
c語言字符串轉十六進制算法
c語言字符串轉十六進制算法
更新时间:2024-11-26 11:49:43

#編程基礎##我要上頭條#

一、字符串轉換為16進制字節數組的步驟

1、将字符串按每兩個字符拆分并插入逗号為分隔符;2、将拆分後的字符串分離為字符串數組;3、将字符串數組轉換成字節數組并檢測字符是否合法;4、将合法轉換後的字節數組輸出;

二、将16進制數字節數組轉換為字符串

1、确定是否需要在字節之間插入空格或其他特殊符号;2、将字節數據轉換為字符;3、将轉換後的字符串連接起來;4、将連接後的字符串輸出;

三、代碼

//字符串轉換為16進制字節數組 private byte[] TranslateStringToHexArray(string AsciiString) { int cnt = 0; string inputAsciiArray= ""; //1、将字符串按每兩個字符拆分并插入逗号為分隔符 for (int i = 0; i < AsciiString.Length; i ) { char temp = AsciiString[i]; if(temp!=' ') { inputAsciiArray = temp; cnt ; if (cnt >= 2) { cnt = 0; inputAsciiArray = ","; } } } //2、将拆分後的字符串分離為字符串數組 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、将字符串數組轉換成字節數組并檢測字符是否合法 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) //發生錯誤時提示非法字符 { //string ErrMsg = " " bStringArray[i] " " E.Message; string ErrMsg = " 第 " (i*2 1).ToString() " 個字符 " bStringArray[i] " 非法 \r\n" E.ToString(); MessageBox.Show(ErrMsg, "提示"); break; } } } //4、将合法轉換後的字節數組輸出 byte[] bArray2 = new byte[cnt]; for (int i = 0; i < cnt; i ) { bArray2[i]=bArray1[i]; } return bArray2; }

//字節數組轉換為字符串 private string TranslateHexArrayToString(byte[] InputByteArray,bool AddBlankFlag) { string HexString = ""; if (AddBlankFlag == true) //确定是否需要插入特殊符号 { for (int i = 0; i < InputByteArray.Length; i ) { HexString = InputByteArray[i].ToString("X2") " "; //字節數據轉換為字符(并插入空格) } } else //字符串終字節間不插入空格 { for (int i = 0; i < InputByteArray.Length; i ) { HexString = InputByteArray[i].ToString("X2"); //字節數據轉換為字符 } } return HexString; }

c語言字符串轉十六進制算法(VS2012C)1

c語言字符串轉十六進制算法(VS2012C)2

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
福田新能源汽車重卡
福田新能源汽車重卡
9月16日,由北京市人民政府、工信部、公安部、交通運輸部、中國科學技術協會共同主辦的2022世界智能網聯汽車大會在京開幕,福田汽車攜集衆多創新成果于一身的智能駕駛重卡重磅亮相,展現企業在智能駕駛領域雄厚的技術實力的同時,也讓行業對未來物流運...
2024-11-26
怎樣删除重複項并求和
怎樣删除重複項并求和
今天小編要和大家分享一篇,多條件排序、删除重複值和單條件求和的綜合應用案例,希望各位同學,可以實際的去操作一遍,最關鍵的是要理解其中的邏輯含義自定義排序方方格子插件公式向導一、先看題目,理解題意今天有學員提出這樣的問題,如下圖所示,想實現:...
2024-11-26
手機微信删除後可以重新登陸嗎
手機微信删除後可以重新登陸嗎
手機微信删除後可以重新登陸嗎?手機微信删除後可以重新登陸微信重新下載後輸入自己的微信賬号和微信登錄密碼就可以登錄成功了如果微信的登錄密碼忘記了,可以這樣操作:微信重新下載後,先輸入自己的手機号碼然後點擊使用短信驗證碼登錄這幾個字點擊後按照界...
2024-11-26
卧室自制驅蚊器
卧室自制驅蚊器
(央視财經《深度财經》)聽過4K、AI的你,對OLED、QLED、8K、HDR、HFR、DolbyAtmos也有概念嗎?一個舒心的家,能提升好大一截幸福感。那些關于“家”的“黑科技”潮流,你跟上了沒?添置哪幾個物件,就能充分滿足你“愛美”、...
2024-11-26
安兔兔公布4月國内安卓手機性能
安兔兔公布4月國内安卓手機性能
近日,知名跑分平台安兔兔發布了8月安卓手機性價比榜單,價位從千元機到5000元以上都有,下面不妨一起來看看都有哪些上榜的機型。0-1999價位首先來看看0-1999元價位段,拿下性價比第一名的是RedmiNote11TPro,該機搭載了天玑...
2024-11-26
Copyright 2023-2024 - www.tftnews.com All Rights Reserved