C# byte[] 轉換16進制字符串


1.byte[] 轉換16進制字符串

   1.1 BitConverter方式

            var str = DateTime.Now.ToString();
            var encode = Encoding.UTF8;
            var bytes = encode.GetBytes(str);
            var hex = BitConverter.ToString(bytes, 0).Replace("-", string.Empty).ToLower();
            Console.WriteLine(hex);

   1.2 StringBuilder方式

           var str = DateTime.Now.ToString();
            var encode = Encoding.UTF8;
            var bytes = encode.GetBytes(str);
            StringBuilder ret = new StringBuilder();
            foreach (byte b in bytes)
            {
                //{0:X2} 大寫
                ret.AppendFormat("{0:x2}", b);
            }
            var hex = ret.ToString();
            Console.WriteLine(hex);

 

2.16進制字符串轉換 byte[]

          var inputByteArray = new byte[hex.Length / 2];
            for (var x = 0; x < inputByteArray.Length; x++)
            {
                var i = Convert.ToInt32(hex.Substring(x * 2, 2), 16);
                inputByteArray[x] = (byte)i;
            }
            str = encode.GetString(inputByteArray);
            Console.WriteLine(str);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM