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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

将字符串转换成16进制

發(fā)布時間:2024/9/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将字符串转换成16进制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
將字符串轉(zhuǎn)換成16進(jìn)制 原文:將字符串轉(zhuǎn)換成16進(jìn)制

1、將普通字符串轉(zhuǎn)換成16進(jìn)制的字符串。

點(diǎn)擊進(jìn)入推薦鏈接

class Program {static void Main(string[] args){string str = "Hello,C#!!!";//調(diào)用。string result = StringToHex16String(str);Console.WriteLine(string.Format("將普通字符串:{0}轉(zhuǎn)換成16進(jìn)制字符串是:{1}", str, result));Console.ReadKey();} /// <summary>/// 此方法用于將普通字符串轉(zhuǎn)換成16進(jìn)制的字符串。/// </summary>/// <param name="_str">要轉(zhuǎn)換的字符串。</param>/// <returns></returns>public static string StringToHex16String(string _str){//將字符串轉(zhuǎn)換成字節(jié)數(shù)組。byte[] buffer = System.Text.Encoding.UTF8.GetBytes(_str);//定義一個string類型的變量,用于存儲轉(zhuǎn)換后的值。string result = string.Empty;for (int i = 0; i < buffer.Length; i++){//將每一個字節(jié)數(shù)組轉(zhuǎn)換成16進(jìn)制的字符串,以空格相隔開。result += Convert.ToString(buffer[i], 16) + " ";}return result;} }

轉(zhuǎn)換結(jié)果是:

2、將16進(jìn)制的字符串轉(zhuǎn)換成普通字符串。

class Program {static void Main(string[] args){string hex16String = "48 65 6c 6c 6f 2c 43 23 21 21 21";string result = Hex16StringToString(hex16String);Console.WriteLine("將16進(jìn)制字符串:{0}轉(zhuǎn)換成普通字符串是:{1}", hex16String, result);Console.ReadKey();}/// <summary>/// 此方法用于將16進(jìn)制的字符串轉(zhuǎn)換成普通字符串。/// </summary>/// <param name="_hex16String">要轉(zhuǎn)換的16進(jìn)制的字符串。</param>/// <returns></returns>private static string Hex16StringToString(string _hex16String){string result = string.Empty;//以空格分割字符串。string[] chars = _hex16String.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);//聲明一個字節(jié)數(shù)組,其長度等于分割的字符串的長度。byte[] buffer = new byte[chars.Length];for (int i = 0; i < buffer.Length; i++){//將chars數(shù)組中的元素轉(zhuǎn)換成字節(jié)數(shù)組。buffer[i] = Convert.ToByte(chars[i], 16);}//將字節(jié)數(shù)組轉(zhuǎn)換成字符串。result = System.Text.Encoding.UTF8.GetString(buffer);//返回。return result;} }

?效果圖:

3、將16進(jìn)制的字符串轉(zhuǎn)換成16進(jìn)制的字節(jié)數(shù)組。

class Program {static void Main(string[] args){string hex16String = "48 65 6c 6c 6f 2c 43 23 21 21 21";//引用。byte[] bytes = Hex16StringToHex16Byte(hex16String);}/// <summary>/// 此方法用于將16進(jìn)制的字符串轉(zhuǎn)換成16進(jìn)制的字節(jié)數(shù)組/// </summary>/// <param name="_hex16ToString">要轉(zhuǎn)換的16進(jìn)制的字符串。</param>public static byte[] Hex16StringToHex16Byte(string _hex16String){//去掉字符串中的空格。_hex16String = _hex16String.Replace(" ", "");if (_hex16String.Length / 2 == 0){_hex16String += " ";}//聲明一個字節(jié)數(shù)組,其長度等于字符串長度的一半。byte[] buffer = new byte[_hex16String.Length / 2];for (int i = 0; i < buffer.Length; i++){//為字節(jié)數(shù)組的元素賦值。buffer[i] = Convert.ToByte((_hex16String.Substring(i * 2, 2)), 16);}//返回字節(jié)數(shù)組。return buffer;} }

效果圖:

?4、將16進(jìn)制的字節(jié)數(shù)組轉(zhuǎn)換成16進(jìn)制的字符串。

class Program {static void Main(string[] args){string hex16String = "48 65 6c 6c 6f 2c 43 23 21 21 21";byte[] bytes = Hex16StringToHex16Byte(hex16String);string result = Hex16ByteToHex16String(bytes);Console.WriteLine(string.Format("轉(zhuǎn)換成16進(jìn)制的字符串是:{0}", result));Console.ReadKey();}/// <summary>/// 此方法用于將16進(jìn)制的字節(jié)數(shù)組轉(zhuǎn)換成16進(jìn)制的字符串。/// </summary>/// <param name="_hex16Byte">要轉(zhuǎn)換的16進(jìn)制的字節(jié)數(shù)組。</param>/// <returns></returns>public static string Hex16ByteToHex16String(byte[] _hex16Byte){string result = string.Empty;//如果字節(jié)數(shù)組不為空。if (_hex16Byte != null){for (int i = 0; i < _hex16Byte.Length; i++){//將每一個字節(jié)數(shù)組轉(zhuǎn)換成16進(jìn)制string類型的字符串,用空格分隔開。result += _hex16Byte[i].ToString("X2") + " ";}}return result;} }

效果圖:

?

5、將字符串轉(zhuǎn)換成16進(jìn)制。

class Program {static void Main(string[] args){string str = "自由!!!";string result = StringTo16Hex(str, Encoding.UTF8, true);Console.WriteLine(string.Format("將字符串:{0}轉(zhuǎn)換成16進(jìn)制后是:{1}", str, result));Console.ReadKey();}/// <summary>/// 此方法用于將字符串轉(zhuǎn)化成16進(jìn)制。/// <param name="_str">要轉(zhuǎn)換的字符串。</param>/// <param name="_encode">編碼格式(UTF-8、gb2312)</param>/// <param name="_isHaveSpace">是否用空格分隔</param>// <returns></returns>public static string StringTo16Hex(string _str, Encoding _encode,bool _isHaveSpace){string result = string.Empty;if (_str.Length / 2 != 0){_str += " ";}//將字符串轉(zhuǎn)換成字節(jié)數(shù)組。byte[] buffer = _encode.GetBytes(_str);for (int i = 0; i < buffer.Length; i++){result += string.Format("{0:X}", buffer[i]);if (_isHaveSpace && (i != buffer.Length - 1)){//result += " ";//或者寫成以下這種。result += string.Format("{0}", " ");}}return result;} }

效果圖:

6、將16進(jìn)制轉(zhuǎn)換成字符串。

class Program {static void Main(string[] args){string str = "自由!!!";string result = StringTo16Hex(str, Encoding.UTF8, true);Console.WriteLine();Console.WriteLine(string.Format("將字符串:{0}轉(zhuǎn)換成16進(jìn)制后是:{1}", str, result));Console.WriteLine("---------------------------------");string result2 = Hex16ToString(result,Encoding.UTF8);Console.WriteLine(string.Format("將16進(jìn)制:{0} 轉(zhuǎn)換成字符串是:{1}", result, result2));Console.ReadKey();}/// <summary>/// 此方法用于將16進(jìn)制轉(zhuǎn)換成字符串。/// </summary>/// <param name="_str">要轉(zhuǎn)換的16進(jìn)制。</param>/// <param name="_encode">編碼的格式。</param>/// <returns></returns>public static string Hex16ToString(string _str, Encoding _encode){if (_str == null){return "";}//去掉空格、逗號、斜杠_str = _str.Replace(",", "");_str = _str.Replace("\n", "");_str = _str.Replace("\\", "");_str = _str.Replace(" ", "");if (_str.Length % 2 == 0){_str += "20"; //空格 }//新建字節(jié)數(shù)組。byte[] buffer = new byte[_str.Length / 2];for (int i = 0; i < buffer.Length; i++){try{//每兩個字符是一個 byte。 buffer[i] = byte.Parse(_str.Substring(i * 2, 2),System.Globalization.NumberStyles.HexNumber);}catch (Exception ex){//錯誤異常處理。throw ex; } }//返回return _encode.GetString(buffer, 0, buffer.Length);} }

效果圖:

參考博客鏈接:https://blog.csdn.net/zdhlwt2008/article/details/52749658

點(diǎn)擊進(jìn)入推薦鏈接

End!?

posted on 2018-08-15 00:20 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/lonelyxmas/p/9479026.html

總結(jié)

以上是生活随笔為你收集整理的将字符串转换成16进制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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