Exemple #1
0
        /// <summary>
        /// byte[]转换成16进制字符串
        /// </summary>
        /// <param name="bytes">需要转换的byte[]</param>
        /// <param name="enum16"></param>
        /// <returns></returns>
        public string BytesTo16(byte[] bytes, Enum16Hex enum16)
        {
            string outString = "";

            for (int i = 0; i < bytes.Length; i++)
            {
                if (bytes[i].ToString("X").Length < 2)                                  //16进制数为一位时前面填充0
                {
                    outString += "0" + bytes[i].ToString("X") + AddSplitString(enum16); //转成16进制数据
                }
                else
                {
                    outString += bytes[i].ToString("X") + AddSplitString(enum16);//转成16进制数据
                }
            }
            return(outString);
        }
Exemple #2
0
        /// <summary>
        /// 字符串转换成16进制
        /// </summary>
        /// <param name="inSting"></param>
        /// <param name="enum16"></param>
        /// <returns></returns>
        public string StringTo16(string inSting, Enum16Hex enum16)
        {
            string outString = "";

            byte[] bytes = Encoding.Default.GetBytes(inSting);
            for (int i = 0; i < bytes.Length; i++)
            {
                int    strInt = Convert.ToInt16(bytes[i] - '\0');
                string s      = strInt.ToString("X");
                if (s.Length == 1)
                {
                    s = "0" + s;
                }
                s          = s + AddSplitString(enum16);
                outString += s;
            }
            return(outString);
        }
Exemple #3
0
        /// <summary>
        /// 把16进制隔离符转换成实际的字符串
        /// </summary>
        /// <param name="enum16">16进制隔离符枚举</param>
        /// <returns></returns>
        private string AddSplitString(Enum16Hex enum16)
        {
            switch (enum16)
            {
            case Enum16Hex.None:
                return("");

            case Enum16Hex.Ox:
                return("0x");

            case Enum16Hex.OX:
                return("0X");

            case Enum16Hex.Blank:
                return(" ");

            default:
                return("");
            }
        }
Exemple #4
0
        /// <summary>
        /// 把byte[]直接转换成字符串,直接以2进制形式显示出来。
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public string BytesTo2String(byte[] bytes, Enum16Hex enum16)
        {
            string outString = "";

            for (int i = 0; i < bytes.Length; i++)
            {
                string tempString = Convert.ToString(bytes[i], 2);
                if (tempString.Length != 8)
                {
                    string add0 = "";
                    for (int j = 0; j < 8 - tempString.Length; j++)
                    {
                        add0 += "0";
                    }
                    outString += add0 + tempString + AddSplitString(enum16);
                }
                else
                {
                    outString += tempString + AddSplitString(enum16);
                }
            }
            return(outString);
        }
Exemple #5
0
 /// <summary>
 /// 把byte[]转换成String
 /// </summary>
 /// <param name="bytes">需要转换的byte[]</param>
 /// <param name="enum16">隔离符</param>
 /// <returns></returns>
 public string BytesToString(byte[] bytes, Enum16Hex enum16)
 {
     return(From16ToString(BytesTo16(bytes, enum16)));
 }