111,125
社区成员
发帖
与我相关
我的任务
分享private string HexToBin(string AHex)
{
AHex = AHex.ToLower().Replace(" ", "");
StringBuilder result = new StringBuilder(AHex.Length * 4);
foreach (char c in AHex)
{
int i = "0123456789abcdef".IndexOf(c);
if (i >= 0)
{
string s = Convert.ToString(i, 2);
result.Append(" 000".Substring(0, 5 - s.Length) + s);
}
}
return result.ToString().Trim();
}
private void button2_Click(object sender, EventArgs e)
{
string s = "A0 CC 10 1A";
MessageBox.Show(HexToBin(s));
} string s = "A0 CC 10 1A";
s = s.Replace(" ", "");
int n = int.Parse(s, NumberStyles.HexNumber);
MessageBox.Show(Convert.ToString(n, 2));public byte[] HexToBytes(string AHex)
{
AHex = AHex.Replace(" ", "");
if (AHex.Length <= 0) return null;
byte[] Result = new byte[AHex.Length / 2];
for (int i = 0; i < AHex.Length; i += 2)
if (!byte.TryParse(AHex.Substring(i, 2),
System.Globalization.NumberStyles.HexNumber, null, out Result[i / 2]))
Result[i / 2] = 0;
return Result;
}
public static byte[] StringToBinaries( string str ) {
str = str.Replace(" ", "");
byte[] binaries = new byte[str.Length / 2];
for (int i = 0; i < str.Length; ) {
byte b = ( byte )"0123456789ABCDEF".IndexOf( str[i++] );
b <<= 4;
b += (byte)"0123456789ABCDEF".IndexOf(str[i]);
binaries[ i / 2 ] = b;
i++;
}
return binaries;
}