java將IP地址轉換為數字以及逆向轉換
public class IPUtil {
/**
* ip地址轉成long型數字
* 將IP地址轉化成整數的方法如下:
* 1、通過String的split方法按.分隔得到4個長度的陣列
* 2、通過左移位操作(<<)給每一段的數字加權,第一段的權為2的24次方,第二段的權為2的16次方,第三段的權為2的8次方,最後一段的權為1
* @param strIp
* @return
*/
public static long ipToLong(String strIp) {
String[]ip = strIp.split("\\.");
return (Long.parseLong(ip[0]) << 24) + (Long.parseLong(ip[1]) << 16) + (Long.parseLong(ip[2]) << 8) + Long.parseLong(ip[3]);
}
/**
* 將十進位制整數形式轉換成127.0.0.1形式的ip地址
* 將整數形式的IP地址轉化成字串的方法如下:
* 1、將整數值進行右移位操作(>>>),右移24位,右移時高位補0,得到的數字即為第一段IP。
* 2、通過與操作符(&)將整數值的高8位設為0,再右移16位,得到的數字即為第二段IP。
* 3、通過與操作符吧整數值的高16位設為0,再右移8位,得到的數字即為第三段IP。
* 4、通過與操作符吧整數值的高24位設為0,得到的數字即為第四段IP。
* @param longIp
* @return
*/
public static String longToIP(long longIp) {
StringBuffer sb = new StringBuffer("");
// 直接右移24位
sb.append(String.valueOf((longIp >>> 24)));
sb.append(".");
// 將高8位置0,然後右移16位
sb.append(String.valueOf((longIp & 0x00FFFFFF) >>> 16));
sb.append(".");
// 將高16位置0,然後右移8位
sb.append(String.valueOf((longIp & 0x0000FFFF) >>> 8));
sb.append(".");
// 將高24位置0
sb.append(String.valueOf((longIp & 0x000000FF)));
return sb.toString();
}
public static void main(String[] args) {
System.out.println(ipToLong("219.239.110.138"));
System.out.println(longToIP(18537472));
}
}
相關文章
- 【Go】IP地址轉換:數字與字串之間高效轉換Go字串
- PHP 將數字轉換為漢字PHP
- Thymeleaf將字串轉換為數字字串
- Java中將電話號碼轉換為數字Java
- PTA 7-18 IP地址轉換(JAVA)Java
- ARP協議 地址解析協議:IP地址轉換為MAC地址協議Mac
- Octave 數字轉字元,連線兩個字串,以及如何將字串轉換為變數名稱字元字串變數
- Java 中將 Short 轉換為 byte[]Java
- Java 中將 InputStream 轉換為 StreamJava
- 劍指offer(Java版)--將字串轉換為整數Java字串
- 如何在MySQL中使用CONVERT將字串轉換為數字MySql字串
- Java中將 Map 轉換為 Spring MultiValueMapJavaSpring
- 如何將Java 8 Calendar轉換為 LocalDateTime?JavaLDA
- JavaScript字串轉換數字JavaScript字串
- Java如何將字串轉換為字元陣列?Java字串字元陣列
- 如何在Java中將double轉換為int?Java
- 如何在Java中將字串轉換為日期Java字串
- Java將地圖轉換為陣列[Snippet]Java地圖陣列
- 將數值轉換為字串的函式字串函式
- 將金錢數額轉換為大寫
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- 轉換成為整數
- string與數字相互轉換
- leedcode-數字轉換為十六進位制數
- Java中將 int[] 陣列 轉換為 List(ArrayList)Java陣列
- 如何在Java 8中將List轉換為Map?Java
- Python 轉換金額數字大寫為數字小寫Python
- AD模數轉換&DA數模轉換
- URL地址特殊字元轉換字元
- 將網頁轉換為Markdown的免費線上轉換工具網頁
- 阿拉伯-漢字-數字轉換
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- 將WordPress站點轉換為JoomlaOOM
- js將秒轉換為時分秒JS
- JavaScript將陣列轉換為字串JavaScript陣列字串
- unix時間轉換為datetimedatetime轉換為unixtime
- xpinyin:漢字轉換為拼音庫
- Java 將Markdown檔案轉換為Word和PDF文件Java