如何把输入的String类型转换为16进制类型

我现在构造一个ICMP包出了问题,我的设想是界面输入MAC地址然后转化为16进制数据,但是总是不行,请求达人给出解决办法,现在写出部分代码:我通过publicvoidse... 我现在构造一个ICMP包出了问题,我的设想是界面输入MAC地址然后转化为16进制数据,但是总是不行,请求达人给出解决办法,现在写出部分代码:
我通过public void sendICMP(String sourceIP, String destinationIP, String sourceMAC, String destinationMAC) throws java.io.IOException
传入在界面输入的MAC地址,然后在ether.src_mac=new byte[]{};中使用他,直接在程序写入MAC地址的代码是ether.src_mac=new byte[]{(byte)0x00,(byte)0x16,(byte)0x32,(byte)0x2D,(byte)0xE1,(byte)0x02};,我想请问我怎么改才合适呢?谢谢
展开
 我来答
百度网友96ffcf7
2015-08-01 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118726
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
首先,将 string 分析为字符数组, 然后对每个字符调用 ToInt32(Char) 以获取相应的数字值。 最后,在 string 中将数字的格式设置为十六进制表示形式。
string input = "Hello World!";
char[] values = input.ToCharArray();
foreach (char letter in values)
{
// Get the integral value of the character.
int value = Convert.ToInt32(letter);
// Convert the decimal value to a hexadecimal value in string form.
string hexOutput = String.Format("{0:X}", value);
Console.WriteLine("Hexadecimal value of {0} is {1}", letter, hexOutput);
}
/* Output:
Hexadecimal value of H is 48
Hexadecimal value of e is 65
Hexadecimal value of l is 6C
Hexadecimal value of l is 6C
Hexadecimal value of o is 6F
Hexadecimal value of is 20
Hexadecimal value of W is 57
Hexadecimal value of o is 6F
Hexadecimal value of r is 72
Hexadecimal value of l is 6C
Hexadecimal value of d is 64
Hexadecimal value of ! is 21
*/
歪瑞顾K
2009-09-08 · TA获得超过2906个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2220万
展开全部
public class java.lang.Integer 中如下方法

public static Integer decode(String nm)
throws NumberFormatException
将 String 解码为 Integer。接受通过以下语法给出的十进制、十六进制和八进制数字:
DecodableString:
Signopt DecimalNumeral
Signopt 0x HexDigits
Signopt 0X HexDigits
Signopt # HexDigits
Signopt 0 OctalDigits
Sign:
-
Java Language Specification 的第 §3.10.1 节中有 DecimalNumeral、HexDigits 和 OctalDigits 的定义。
跟在(可选)负号和/或基数说明符(“0x”、“0X”、“#”或前导零)后面的字符序列是使用指示的基数(10、16 或 8)通过 Integer.parseInt 方法解析的。字符序列必须表示一个正值,否则会抛出 NumberFormatException。如果指定的 String 的第一个字符是减号,则对结果求反。String 中不允许出现空白字符。

参数:
nm - 要解码的 String。
返回:
保存 nm 所表示的 int 值的 Integer 对象。
抛出:
NumberFormatException - 如果 String 不包含可解析整数。
从以下版本开始:
1.2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kysdvnm
2009-09-08 · TA获得超过381个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:0
展开全部
public static String bin2hex(String bin) {
char[] digital = "0123456789ABCDEF".toCharArray();
StringBuffer sb = new StringBuffer("");
byte[] bs = bin.getBytes();
int bit;
for (int i = 0; i < bs.length; i++) {
bit = (bs[i] & 0x0f0) >> 4;
sb.append(digital[bit]);
bit = bs[i] & 0x0f;
sb.append(digital[bit]);
}
return sb.toString();
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菜鸟桦
2009-09-08
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
有点不明白你的意思,
你是想将输入的字符串变成byte数组吗?数组中都是16进制数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
求知白度
2009-09-08 · TA获得超过931个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:311万
展开全部
不懂........
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式