【Unity】Byteデータから16進文字列への相互変換

DEVELOP, Unity

byte データと16進数の文字列を行ったり来たり出来る相互変換です。

using System.Text;
 
namespace mira
{
    public class Convert
    {
        /// <summary>
        /// Byte to hex string.
        /// </summary>
        public static string ByteToHexString(byte[] _bytes)
        {
            StringBuilder sb = new StringBuilder(_bytes.Length * 2);
            for (int i = 0; i < _bytes.Length; i++)
            {
                sb.Append(_bytes[i].ToString("x2"));
            }
            return sb.ToString();
        }
 
        /// <summary>
        ///  hex to Byte string.
        /// </summary>
        public static byte[] HexStringToByte(string _str)
        {
            int length = _str.Length / 2;
            byte[] bytes = new byte[length];
            int j = 0;
            for (int i = 0; i < length; i++)
            {
                bytes[i] = System.Convert.ToByte(_str.Substring(j, 2), 16);
                j += 2;
            }
            return bytes;
        }
    }
}

Posted by kazupon