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
- javascript如何將字串轉換為數字JavaScript字串
- PTA 7-18 IP地址轉換(JAVA)Java
- JavaScript ip地址轉換為二進位制JavaScript
- Octave 數字轉字元,連線兩個字串,以及如何將字串轉換為變數名稱字元字串變數
- js將小寫數字轉換為大寫形式JS
- js利用Number()函式將字串轉換為數字JS函式字串
- js將字串轉換為數字程式碼例項JS字串
- javascript將物件轉換為數字程式碼例項JavaScript物件
- ARP協議 地址解析協議:IP地址轉換為MAC地址協議Mac
- VBA轉換IP地址為可比較12位字串(去掉小數點)字串
- 將java庫轉換為.net庫Java
- Java 中將 InputStream 轉換為 StreamJava
- 將數字轉換成單詞形式
- Facebook 面試題 | 將數字轉換為十六進位制面試題
- 劍指offer(Java版)--將字串轉換為整數Java字串
- 編寫Word“宏”輕鬆將全形數字轉換為半形(轉)
- 靜態地址轉換+埠複用地址轉換
- 動態地址轉換+埠複用地址轉換
- Java 中將 Short 轉換為 byte[]Java
- 如何在MySQL中使用CONVERT將字串轉換為數字MySql字串
- java json字串轉換為物件,轉換為listJavaJSON字串物件
- 字串:怎樣將數字型別轉換為字串 (轉)字串型別
- 羅馬數字轉換阿拉伯數字(Java版,考慮較為全面)Java
- JavaScript字串轉換數字JavaScript字串
- JavaScript將小數轉換為百分數JavaScript
- JavaScript 小寫數字轉換為大寫JavaScript
- Excel地址轉換Excel
- 將金錢數額轉換為大寫
- 如何在Java中將double轉換為int?Java
- Java將地圖轉換為陣列[Snippet]Java地圖陣列
- 如何在Java中將字串轉換為日期Java字串
- 如何將Java 8 Calendar轉換為 LocalDateTime?JavaLDA
- Java如何將字串轉換為字元陣列?Java字串字元陣列
- 將Schema檔案轉換為Java檔案Java