Java:将字符串IPv6地址手动转换为字节数组

时间:2017-01-10 08:58:20

标签: java arrays string

我需要手动将IPv6的字符串表示转换为字节数组。我在嵌入式设备上,无法访问外部库。

例如:

String addr_str = "bbbb::1"

手动转换将是:

byte[] addr = new byte[]{(byte) 187,(byte) 187,0,0 //187 == bb
                                ,0,0,0,0
                                ,0,0,0,0
                                ,0,0,0,1};

理想情况下,我想创建一个函数,比如'convertToIPv6ByteArray',它将启用:

addr = convertToIPv6ByteArray(addr_str);

我很难有效地实现这个功能。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

看看这个:Java IPv6 Address String to Bytes
这是实施http://developer.classpath.org/doc/java/net/InetAddress-source.html
要做的选择:
如果你不能添加库,最简单的方法就是将这个类的源代码复制到你的项目中。
或者你可以查看实现并重新实现它。