Convert hexadecimal string to IP Address

后端 未结 6 1600
囚心锁ツ
囚心锁ツ 2021-01-02 03:11

I want to convert a string value (in hexadecimal) to an IP Address. How can I do it using Java?

Hex value: 0A064156

IP: 10.6.65.86<

6条回答
  •  北荒
    北荒 (楼主)
    2021-01-02 03:38

    The accepted answer has a requirement that, the hex must be even-length. Here is my answer:

    private String getIpByHex(String hex) {
        Long ipLong = Long.parseLong(hex, 16);
        String ipString = String.format("%d.%d.%d.%d", ipLong >> 24, 
            ipLong >> 16 & 0x00000000000000FF, 
            ipLong >> 8 & 0x00000000000000FF, 
            ipLong & 0x00000000000000FF);
    
        return ipString;
    }
    

提交回复
热议问题