using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data; namespace Flyad7_WPF.Converters { public class BytesConverter : IValueConverter { #region IValueConverter 成员 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { byte[] bs = (byte[])value; string str = ""; for (int i = 0; i < bs.Length; i++) str += bs[i].ToString("X2"); return str; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string str = (string)value; string h = ""; List<byte> bs = new List<byte>(); for (int i = 0; i < str.Length; i++) { if (str[i] != ' ') h += str[i]; if (((str[i] == ' ') && (h.Length != 0)) || (h.Length >= 2)) { byte b = 0; if (byte.TryParse(h, System.Globalization.NumberStyles.AllowHexSpecifier, null, out b)) { bs.Add(b); } else { break; } h = ""; } } return bs.ToArray(); } #endregion } }