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); } }
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)); } } }