C# 数字转16进制和字符串转换16进制

 数字转换16进制。前提是你输入的必须是数字,而不是别的东西。

private string StringToHexString(string s)//数字转换16进制
        {
            long Num = Convert.ToInt32(s);//防止溢出
            string str = Convert.ToString(Num, 16);
            string Msg = "0x" + (str.Length == 1 ? "0" + str : str);//转换成指定格式
            return Msg;
        }

字符串转换16进制,这里参考了很多其他人的方法。可以用StringBuilder,也可以用逐个转化再存储。看个人喜好。

        public string ToStrFromByte(byte[] byteDatas)//字符串转化16进制

        {
            string Msg = "";
            //StringBuilder builder = new StringBuilder();
            for (int i = 0; i < byteDatas.Length; i++)
            {
                string str = Convert.ToString(byteDatas[i], 16);
                Msg = "0x" + (str.Length == 1 ? "0" + str : str);//转换成16进制格式
                //builder.Append(string.Format("{0:X2} ", byteDatas[i]));
            }
            return Msg;
        }

最后实现效果(以自己学习做的串口程序为例):

猜你喜欢

转载自blog.csdn.net/aa989111337/article/details/125994325