Exemple #1
0
        public static byte[] Str2Byte(string str,
                                      EStringByte eStrByte = EStringByte.Hex, string separator = "")
        {
            switch (eStrByte)
            {
            case EStringByte.Base64:
                return(System.Convert.FromBase64String(str));

            default:
                byte[] bytes;
                if (separator == "")
                {
                    MatchCollection matches = Regex.Matches(str, @"[\dA-Fa-f][\dA-Fa-f]?");
                    bytes = new byte[matches.Count];
                    for (int i = 0; i < bytes.Length; i++)
                    {
                        bytes[i] = byte.Parse(matches[i].Value, System.Globalization.NumberStyles.HexNumber);
                    }
                }
                else
                {
                    string[] hexes = str.Split(separator.ToCharArray());
                    bytes = new byte[hexes.Length];
                    for (int i = 0; i < bytes.Length; i++)
                    {
                        bytes[i] = byte.Parse(hexes[i], System.Globalization.NumberStyles.HexNumber);
                    }
                }
                return(bytes);
            }
        }
Exemple #2
0
        public static string Byte2Str(byte[] bytes,
                                      EStringByte eStrByte = EStringByte.Hex, string separator = "")
        {
            switch (eStrByte)
            {
            case EStringByte.Base64:
                return(System.Convert.ToBase64String(bytes));

            default:
                string[] hexes = new string[bytes.Length];
                for (int i = 0; i < bytes.Length; i++)
                {
                    hexes[i] = bytes[i].ToString("X2");
                }
                if (separator == "")
                {
                    return(string.Concat(hexes));
                }
                else
                {
                    return(string.Join(separator, hexes));
                }
            }
        }