1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
}
}