日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現ip地址和int數字的相互轉換

瀏覽:33日期:2022-08-24 17:06:43

Java版本的 ip地址和int數字的相互轉換

對于ipv4的地址來說,如果用字符串的形式存儲的話,其占用字節就比較大,比如對于IPv4地址0.0.0.0的字符串,就需要7個字節,IPv4為255.255.255.255 的字符串,需要15個字節,也就是說存儲一個ip需要占用7~15個字節。

那么有沒有更節省空間的存儲方式呢?答案是有。

方案1:

直接把字符串中的’.’去掉,不就變成一個數字了嘛,比如 '255.255.255.255' 變成 255255255255,然而我們知道int所能表示的最大值 = Integer.MAX_VALUE = 2^31-1 = 2147483647, 255255255255 > 2^31-1,所以需要用長整形long來表示,長整形占用8個字節,也就是說我們將7~15個字節轉換為8字節,在絕大多數情況下是節省空間了的。

方案2:

因為考慮到IPv4的地址本質上就是32位的二進制串,而一個int類型的數字剛好為4個字節32個bit位,所以剛好可以用一個int類型的數字轉表示IPv4地址。所以,我們可以用4個字節的int數字表示一個ip地址,這樣可以大大節省空間。

這里只討論方案2 :)

演示

對于ipv4地址: 192.168.1.3:

每段都用二進制表示: 192(10) = 11000000(2) ; 168(10) = 10101000(2) ; 1(10) = 00000001(2) ; 3(10) = 00000011(2) 。

所以連在一起就是:11000000101010000000000100000011,對應的int數字就是-1062731775 。

具體算法分析:

192左移24位: 11000000 00000000 00000000 00000000

168左移16位: 00000000 10101000 00000000 00000000

001左移08位: 00000000 00000000 00000001 00000000

003左移00位: 00000000 00000000 00000000 00000011

按位或結果 : 11000000 10101000 00000001 00000011

即 -1062731775

將int類型的數字轉換成ip地址,其實就是上述過程的逆過程,這里就不再贅述。

具體實現方式:

package com.sunjs.kit; import java.util.regex.Matcher;import java.util.regex.Pattern; /** * IPv4地址和int數字的互換 * @author sun */public class IpKit { /** * IPv4地址轉換為int類型數字 * @param ipv4Addr * @return */ public static int ipToInt(String ipv4Addr) { // 判斷是否是ip格式的 if (!isIPv4Address(ipv4Addr)) throw new RuntimeException('Invalid ip address'); // 匹配數字 Pattern pattern = Pattern.compile('d+'); Matcher matcher = pattern.matcher(ipv4Addr); int result = 0; int counter = 0; while (matcher.find()) { int value = Integer.parseInt(matcher.group()); result = (value << 8 * (3 - counter++)) | result; } return result; } /** * 判斷是否為ipv4地址 * @param ipv4Addr * @return */ private static boolean isIPv4Address(String ipv4Addr) { String lower = '(d|[1-9]d|1d{2}|2[0-4]d|25[0-5])'; // 0-255的數字 String regex = lower + '(.' + lower + '){3}'; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(ipv4Addr); return matcher.matches(); } /** * 將int數字轉換成ipv4地址 * @param ip * @return */ public static String intToIp(int ip) { StringBuilder sb = new StringBuilder(); int num = 0; boolean needPoint = false; // 是否需要加入’.’ for (int i = 0; i < 4; i++) { if (needPoint) {sb.append(’.’); } needPoint = true; int offset = 8 * (3 - i); num = (ip >> offset) & 0xff; sb.append(num); } return sb.toString(); } public static void main(String[] args) { String ip = '124.202.200.166'; System.out.println(ipToInt(ip)); System.out.println(intToIp(2093664422)); } }

以上就是Java實現ip地址和int數字的相互轉換的詳細內容,更多關于Java ip和數字相互轉換的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
激情久久99| 四虎国产精品免费观看| 91成人福利| 亚洲综合福利| 蜜桃视频一区二区三区| 亚洲综合激情在线| 国产精久久久| 日本v片在线高清不卡在线观看| 欧美一级全黄| 你懂的网址国产 欧美| 日韩视频网站在线观看| 亚洲a一区二区三区| 国产高清一区| 免费不卡在线视频| 欧美网站在线| 黄色国产精品| 久久精品人人| 九一成人免费视频| 久久久精品午夜少妇| 激情亚洲影院在线观看| 欧美国产日本| 色吊丝一区二区| 精品一区二区三区在线观看视频| 丝袜美腿一区二区三区| 免费不卡中文字幕在线| 日韩免费一区| 国产一区二区三区天码| 欧美在线看片| 日韩在线观看一区| 欧美日韩va| 青草综合视频| 99久久精品网| 欧美午夜不卡| 免费在线小视频| 日韩国产欧美在线播放| 蜜桃免费网站一区二区三区| 国产精品亚洲片在线播放| 欧美黄页在线免费观看| 日韩高清中文字幕一区| 久久精品99久久无色码中文字幕| 日韩欧美高清一区二区三区| 三级在线观看一区二区| 亚洲精品影视| 欧美aa在线视频| 国产精品115| av中文资源在线资源免费观看| 日韩一区亚洲二区| 成人在线视频区| 国产va免费精品观看精品视频| 成人在线免费观看网站| 国产精品玖玖玖在线资源| 国产粉嫩在线观看| 精品一区亚洲| 欧美日韩国产综合网| 亚洲在线国产日韩欧美| 麻豆成人av在线| 国产精品天天看天天狠| a国产在线视频| 欧美精品资源| 亚洲欧美日本视频在线观看| 中文字幕一区二区精品区| 免费观看在线综合色| 在线综合欧美| 日本h片久久| 国产精品mm| 日本免费久久| 亚洲乱码一区| 国产精品久一| 欧美成人基地| 日韩影院精彩在线| 你懂的亚洲视频| 秋霞影院一区二区三区| 99视频一区| 日韩美女精品| 久久精品国产精品亚洲毛片| 婷婷亚洲五月| 午夜亚洲一区| 国产精品极品在线观看| 黄色亚洲在线| 国产精品成人国产| 精品国产一区二区三区av片| 日韩精品dvd| 美女福利一区二区三区| 97精品国产| av资源中文在线| 亚洲欧美日韩国产综合精品二区| 中文精品电影| 吉吉日韩欧美| 中文国产一区| 国产极品一区| 日韩大片在线| 日本精品影院| 一区二区三区四区精品视频| 欧美交a欧美精品喷水| 99国产精品| 国产精品三级| 国产精品普通话对白| 国产精品毛片久久久| 欧美日韩日本国产亚洲在线| 国产精品**亚洲精品| 久久国产亚洲精品| 久久国产欧美日韩精品| 日韩国产欧美| 国产精品久久久久毛片大屁完整版| 另类中文字幕国产精品| 国产精品99久久免费| 久久久精品久久久久久96| 亚洲免费毛片| 九九精品调教| 亚洲日本欧美| 国产精品17p| 婷婷综合六月| 国产亚洲久久| 三上亚洲一区二区| 欧美中文字幕一区二区| 亚洲综合不卡| 国产精品日本一区二区不卡视频| 亚洲欧美日韩视频二区| 中文精品在线| 国产精品亚洲综合久久| 欧美特黄一区| 新版的欧美在线视频| 九九久久电影| 电影亚洲精品噜噜在线观看| 日韩电影免费在线观看| 精品美女视频| 亚洲资源在线| 亚洲一区欧美二区| 欧美sss在线视频| 久久a爱视频| 亚洲最大av| 成人精品久久| 精品一区二区三区四区五区| 99在线精品视频在线观看| 国产成人调教视频在线观看| 亚洲欧美日韩一区在线观看| 亚洲福利久久| 久久人人97超碰国产公开结果| 日韩午夜av| 欧美日韩调教| 国产精品久久久久av蜜臀| 婷婷综合社区| 国产农村妇女精品一区二区| 一区二区三区四区在线看| 波多野结衣久久精品| 影音先锋久久| 色综合视频一区二区三区日韩| 欧美日韩国产一区二区三区不卡 | 蜜臀av亚洲一区中文字幕| 福利在线免费视频| 欧美日韩在线二区| 蜜臀av在线播放一区二区三区| 日本一区二区中文字幕| 久久精品国产一区二区| 91成人精品| 日韩精品导航| 免费人成黄页网站在线一区二区| 国产精品777777在线播放| 天堂av一区| 日韩精品亚洲一区二区三区免费| 一区二区亚洲精品| 伊人久久亚洲| 视频一区二区三区在线| 国产主播一区| 天堂а√在线最新版中文在线| 精品国产亚洲一区二区三区大结局| 精品一区二区三区中文字幕在线| 麻豆一区二区99久久久久| 麻豆视频观看网址久久| 国产福利资源一区| 美腿丝袜亚洲一区| 国产极品嫩模在线观看91精品| 视频一区二区三区中文字幕| 国产亚洲一区二区三区啪| 国产精品一区二区三区四区在线观看| 日韩成人免费| 久久久国产精品一区二区中文| 国产一区二区精品| 久久久久免费av| 视频一区二区三区入口| 日本在线成人| 国产一区一一区高清不卡| 欧美91在线|欧美| 蜜桃久久久久| 日本高清不卡一区二区三区视频| 三级小说欧洲区亚洲区| 三级小说欧洲区亚洲区| 人人精品亚洲| 婷婷综合国产| 国产极品久久久久久久久波多结野| 桃色一区二区| 亚洲一区二区毛片| 欧美国产另类| 鲁大师精品99久久久| 特黄特色欧美大片| 一区二区三区国产在线| 久久国产精品美女| 日韩欧美网址| 久久免费国产| 日本不卡视频在线|