ros*_*esr 3 java string mac-address bytearray
我有String MacAddress,我需要将其转换为字节数组.Java不会让我直接转换抛出一个数字格式的异常.这就是我现在正在做的事情
clientMac[0] = (byte)Integer.parseInt(strCameraMacId.substring(0, 2));
Run Code Online (Sandbox Code Playgroud)
我试着一步一步地做
String mc = strCameraMacId.substring(0,2);
int test = Integer.parseInt(mc);
clientMac[0] = (byte) test;
Run Code Online (Sandbox Code Playgroud)
但是字符串mc由值"08"组成,并且在执行int到byte转换之后,我将丢失零.我尝试转换的mac地址是"08-00-23-91-06-48",我最终可能会失去所有的零.我会吗?谁有人知道如何处理这个问题?
非常感谢
你没有输掉'0'.因为a byte不是a string,而8和08是相同的.
但更重要的是你的代码中的这个错误:
你正在使用这种parseInt方法.这会将您的地址解析为十进制整数.这不起作用,因为MAC地址,当你显示它们的方式分割时通常是十六进制数字.例如,您可以遇到'A8'而不是'08'.
您需要使用不同的方法:
Integer.parseInt(String s, int radix)
Run Code Online (Sandbox Code Playgroud)
通过radix16,你应该是好的.
| 归档时间: |
|
| 查看次数: |
4430 次 |
| 最近记录: |