c#如何将一个用户输入的ip地址,转换成32位有符号整数 c#如何将一个用户输入的ip地址,转换成32位有符号整数就好像转换成这样, 谢谢!0x3c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.Net.IPAddress .Parse("").Address private void button2_Click(object sender, EventArgs e) { IPAddress test = IPAddress.Parse("127.0.0.1"); String[] result = new string[4]; result = test.ToString().Split('.'); string final = str2hex(result, 4); MessageBox.Show(final); } public String int2hex(uint src) { String result = ""; if (src < 10) { result = src.ToString(); } else { switch (src) { case 10: result = "A"; break; case 11: result = "B"; break; case 12: result = "C"; break; case 13: result = "D"; break; case 14: result = "E"; break; case 15: result = "F"; break; } } return result; } public string str2hex(string[] source, int num) { string temp; string result = ""; for (int str2hexcount = 0; str2hexcount < num; str2hexcount++) { String valuetemp = "0x"; temp = source[str2hexcount]; uint value = Convert.ToUInt32(temp); if (value > 255) { MessageBox.Show("超出范围"); } else { uint b = value / 16 % 16; valuetemp = valuetemp + int2hex(b); uint a = value % 16; valuetemp = valuetemp + int2hex(a) + ";"; source[str2hexcount] = valuetemp; } } for (int i = 0; i < num; i++) { result = result + source[i]; } return result; } 转换的是127.0.0.1,方法写在按钮事件那个函数里面,有两个子函数str2hex和int2hex 我是想把ip地址转换成 0x00, 0x00, 0x03 形式的数组存放到 注册表中的, 这是string格式,应该如何直接得到 byte[] 数组呢?? 对于每一个相应的uint,左移8位并且与下一个数字|操作。 IPAddress ip = IPAddress.Parse("127.0.0.1"); UInt64 longIP = BitConverter.ToUInt64(ip.GetAddressBytes(), 0); C# list 提示未对out参数进行赋值 谁遇到这种错误,大家帮帮忙 C# 3DES加密与oracle 3DES加密结果比较 dataGridView生成一列CheckBox! 无法正常是否选中! C#中时间显示为月初那天如何写? XmlNode Name的属性 取string 中字符的问题。 C#中怎样实现把系统时间向前或者向后调啊? weifenluo.winformsui.docking一个form不跟着变化,高手来看看 web service 能用https 协议吗?怎么设置iis啊?? WPF的Window_Loaded问题 C#获取某进程窗体中某区域的图片转换成数值!
{
IPAddress test = IPAddress.Parse("127.0.0.1");
String[] result = new string[4];
result = test.ToString().Split('.');
string final = str2hex(result, 4);
MessageBox.Show(final);
}
public String int2hex(uint src)
{
String result = "";
if (src < 10)
{
result = src.ToString();
}
else
{
switch (src)
{
case 10:
result = "A";
break;
case 11:
result = "B";
break;
case 12:
result = "C";
break;
case 13:
result = "D";
break;
case 14:
result = "E";
break;
case 15:
result = "F";
break;
}
}
return result;
}
public string str2hex(string[] source, int num)
{
string temp;
string result = "";
for (int str2hexcount = 0; str2hexcount < num; str2hexcount++)
{
String valuetemp = "0x";
temp = source[str2hexcount];
uint value = Convert.ToUInt32(temp);
if (value > 255)
{
MessageBox.Show("超出范围");
}
else
{
uint b = value / 16 % 16;
valuetemp = valuetemp + int2hex(b);
uint a = value % 16;
valuetemp = valuetemp + int2hex(a) + ";";
source[str2hexcount] = valuetemp;
} }
for (int i = 0; i < num; i++)
{
result = result + source[i];
}
return result;
}
我是想把ip地址转换成 0x00, 0x00, 0x03 形式的数组存放到 注册表中的, 这是string格式,应该如何直接得到 byte[] 数组呢??
IPAddress ip = IPAddress.Parse("127.0.0.1");
UInt64 longIP = BitConverter.ToUInt64(ip.GetAddressBytes(), 0);