如何将string表示的16十六进制数字转换成其所代表的二进制数据 比如string = "A0 CC 10 1A";转换成1010 0000 .......这样的二进制?急谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个函数负责将字符转换成十六进制public string Data_Hex_Asc(ref string Data){ string Data1 = ""; string sData = ""; while (Data.Length > 0) //first take two hex value using substring. //then convert Hex value into ascii. //then convert ascii value into character. { Data1 = System.Convert.ToChar(System.Convert.ToUInt32(Data.Substring(0, 2), 16)).ToString(); sData = sData + Data1; Data = Data.Substring(2, Data.Length - 2); } return sData;} Data_Asc_Hex(data) 这个函数负责将十六进制转换成字符public string Data_Asc_Hex(ref string Data){ //first take each charcter using substring. //then convert character into ascii. //then convert ascii value into Hex Format string sValue; string sHex = ""; while (Data.Length > 0) { sValue = Conversion.Hex(Strings.Asc(Data.Substring(0, 1).ToString())); Data = Data.Substring(1, Data.Length - 1); sHex = sHex + sValue; } return sHex;} string s = "A0 CC 10 1A"; s = s.Replace(" ", ""); int n = int.Parse(s, NumberStyles.HexNumber); MessageBox.Show(Convert.ToString(n, 2)); string ss=Convert.ToString((Convert.ToInt32("aa", 16)), 2)); 参考如下代码: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));} 先谢谢各位了刚开始用c sharp待会有空了给分 :) 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; }我的意思是将一连串不定长的字符转换成binaries这是我后来写的 楼主你没考虑小写abcde的问题如下代码基本一样,不过用得是标准的TryParse()转换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;} configurationmanager.OpenExeConfiguration 急急急!请教高手!!winform <==> MediaPlay 200分求一个多线程链式队列的控制台程序 如何判断两个对象相等 怎么在C#的form界面中导入word?急求。谢谢 怎么使用LINQ实现对List<List<string>>循环并拼接字符串 将datatable导入到数据库的新表中? 水晶报表出错了,怎么办?在线等待 能不能解释一下这个表达式什么意思吗,怎样用语言表达 . tcp客户端怎么接收服务端发送的文件? C#winform打印水晶报表(如何打印的问题) 请问下面这段写成C#如何改
Data1 = System.Convert.ToChar(System.Convert.ToUInt32(Data.Substring(0, 2), 16)).ToString(); sData = sData + Data1; Data = Data.Substring(2, Data.Length - 2); }
return sData;
} Data_Asc_Hex(data) 这个函数负责将十六进制转换成字符public string Data_Asc_Hex(ref string Data)
{
//first take each charcter using substring.
//then convert character into ascii.
//then convert ascii value into Hex Format
string sValue;
string sHex = "";
while (Data.Length > 0)
{
sValue = Conversion.Hex(Strings.Asc(Data.Substring(0, 1).ToString()));
Data = Data.Substring(1, Data.Length - 1);
sHex = sHex + sValue;
}
return sHex;
}
s = s.Replace(" ", "");
int n = int.Parse(s, NumberStyles.HexNumber);
MessageBox.Show(Convert.ToString(n, 2));
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));
}
刚开始用c sharp待会有空了给分 :)
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;
}
我的意思是将一连串不定长的字符转换成binaries
这是我后来写的
如下代码基本一样,不过用得是标准的TryParse()转换
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;
}