C# 16进制转字符串,字符串转16进制

 public class HEX
    {
        /// <summary>
        /// 普通字符串转16进制
        /// </summary>
        /// <param name="data"></param>
        public static string StringToHex(string data)
        {
            byte[] b = Encoding.UTF8.GetBytes(data); ;
            string result = string.Empty;
            for (int i = 0; i < b.Length; i++)
            {
                result += Convert.ToString(b[i], 16).ToUpper();
            }
            return result;
        }


        /// <summary>
        /// 16进制转普通字符串
        /// </summary>
        /// <returns></returns>
        public static string HexToString(string Hexdata)
        {
            string result = string.Empty;
            byte[] arrByte = new byte[Hexdata.Length / 2];
            int index = 0;
            for (int i = 0; i < Hexdata.Length; i += 2)
            {
                arrByte[index++] = Convert.ToByte(Hexdata.Substring(i, 2), 16);
            }
            result = System.Text.Encoding.UTF8.GetString(arrByte);
            return result;
        }
    }

测试

            string s = "lw123abc测试信息!@#¥%……&*()——+";
            Console.WriteLine("原数据:\t\t" + s);
            String s2 = HEX.StringToHex(s);
            Console.WriteLine("Hexdata:\t" + s2);
            Console.WriteLine("data:\t\t" + HEX.HexToString(s2));

 

posted @   天天代码码天天  阅读(84)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示