我使用Java(带有Spring框架),并希望在IPv4地址的数字表示形式(例如2130706433)和它们的文本形式(例如127.0.0.1
)之间进行转换。通常,以编程语言(通常分别称为INET_NTOA
和INET_ATON
)提供用于执行此操作的方法,但我在Java中找不到它。
有人知道他们被称为什么或如何实现它们吗?
查看javadocs
中的InetAddress。这些功能不受标准API的直接支持,但是您可以使用此类提取两种表示形式。一个小例子:
InetAddress address = InetAddress.getLocalHost();
byte[] byteAddress = address.getAddress();
System.out.println(Arrays.toString(byteAddress));
System.out.println(address.getHostAddress());
(请记住,字节已签名。)
如果您有更长的时间,可以使用ByteBuffer进行快速舒适的覆盖。方法:putLong()然后array()。
inet_ntoa(将网络二进制的数字转换成网络地址) 相关函数 inet_addr,inet_aton 表头文件 #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> 定义函数 char * inet_ntoa(struct in_addr in); 函数说明 inet_ntoa()用来将参数in所指的网络二进制的
inet_ntoa 将网络二进制的数字转换成网络地址 相关函数 inet_addr,inet_aton 表头文件 #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> 定义函数 char *inet_ntoa(struct in_addr in); 函数说明 inet_ntoa()用来将参数in所指的网络二进制的
问题内容: 首先,是的,这是给课堂上的作业,但是我对它如何运行的缺乏了解比我想要的要高。 我们给了3类,它们是以下: SLinkedList.java 节点java 包chapter3.linkedList; 和GameEntry.java 在过去的3个小时中,我一直在听他的演讲,阅读了文本(数据结构和算法第5版),并浏览了互联网论坛和youtube视频,但是我似乎对如何利用节点/链表类。 分配的
问题内容: Java中的ConcurrentHashMap和Hashtable有什么区别? 对于线程化应用程序,哪个更有效? 问题答案: 使用多个存储桶来存储数据。这样可以避免读取锁定,并大大提高了性能。两者都是线程安全的,但是使用显然可以赢得性能。 从using 读取时,没有锁,与之相反,所有操作都只是简单地同步了。 在Java的旧版本中发布,而Java 5+ 则是。 在单线程应用程序中使用是最
问题内容: 为什么要将数组的长度作为属性,而对于,我们有一个方法? 问题答案: 让我首先强调三种用于类似目的的不同方式。 - 阵列() -知道数组的长度 - 与字符串相关的对象(等)-了解字符串的长度 - 集合对象(等)-知道集合的大小 现在忘记考虑正义length和正义。 不是方法,因此完全无法在对象上使用是完全有意义的。它仅适用于数组。 它的名称更好地描述了它,并且因为它是一种方法,将在我上面
问题内容: 我试图将密码安全地存储在数据库中,为此,我选择存储使用PBKDF2函数生成的哈希值。我想使用弹性城堡库来执行此操作,但是我不知道为什么我无法通过使用JCE接口来使其工作…问题是,以三种不同的方式生成哈希值: 1.使用PBKDF2WithHmacSHA1秘密密钥由sun提供的工厂 。2.直接 使用有弹性的城堡api。3.通过JCE使用有弹性的城堡会 产生2个不同的值:前两个值相同,第三个