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

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

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

瀏覽:31日期: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久久,三上悠亚国产精品一区二区三区
天堂俺去俺来也www久久婷婷| 久久人人88| 欧美精品国产白浆久久久久| 国产精品久久久久久久久久齐齐 | 日本午夜精品一区二区三区电影| 国产精品大片| 久久久影院免费| 亚洲人成亚洲精品| 国产精品久久久久久av公交车| 国产一区二区三区视频在线| 激情自拍一区| 日本午夜精品久久久| 日韩欧美一区二区三区免费看| 欧美日韩国产免费观看视频| 石原莉奈在线亚洲二区| 国产欧美日韩免费观看| 六月婷婷综合| 男女男精品网站| 美女视频一区在线观看| 婷婷六月综合| 国产精品流白浆在线观看| 久久九九电影| 日韩精品欧美精品| 欧美天堂视频| 在线精品福利| 在线看片国产福利你懂的| 视频精品一区二区| 91亚洲自偷观看高清| 亚洲自拍另类| 国产精品xxx在线观看| 1000部精品久久久久久久久| 亚洲男人在线| 特黄毛片在线观看| 日韩精品免费视频一区二区三区| 国产乱码午夜在线视频| 中文精品电影| 国产高清不卡| 亚洲久久在线| 国产91在线精品| 亚洲人成网站在线在线观看| av免费不卡国产观看| 亚洲三级av| 日韩毛片在线| 国产毛片精品| 91精品二区| 久久精品国产免费| 一级成人国产| 欧美一区二区三区高清视频| 国产精品主播| 免费在线观看视频一区| 欧美一区久久久| 久久wwww| 日韩久久99| 国产一区白浆| 日韩美女一区二区三区在线观看| 日韩高清不卡在线| av成人国产| 91精品韩国| 久久这里只有| 日本中文字幕不卡| 国产精品毛片一区二区三区| 蜜桃成人精品| 老司机精品在线| 日韩有码av| 精品1区2区3区4区| 日韩不卡免费高清视频| 麻豆成人综合网| 国产探花一区二区| 亚洲九九精品| 香蕉久久久久久久av网站| 日韩不卡在线| 精品免费在线| 国产精品66| 欧美色综合网| 蜜臀久久99精品久久久久宅男| 久久国产电影| 91综合网人人| 国产精品成人一区二区不卡| 国产精品hd| 国产亚洲久久| 91精品日本| 日韩精品免费视频一区二区三区 | 欧美aa在线视频| 欧美日韩1区2区3区| 久久xxxx| 一区福利视频| 精品91久久久久| 国产亚洲高清视频| 欧美日韩四区| 中文精品视频| 免费日韩av| 久久国产福利| 久久性天堂网| 日韩制服丝袜av| 亚洲欧美不卡| 亚洲精品在线观看91| 欧美99久久| 激情91久久| 久久午夜影视| 蜜臀av一区二区在线免费观看| 国产精品三上| 亚洲中字黄色| 亚洲综合图色| 日韩精品视频在线看| 日本不卡视频在线观看| 日本不卡高清| 欧美激情 亚洲a∨综合| 国产精品伊人| 精品欧美日韩精品| 捆绑调教日本一区二区三区| 女生影院久久| 精品在线99| 免费日韩一区二区| 亚洲v天堂v手机在线| 日韩国产精品久久久久久亚洲| 日韩福利视频导航| 国产欧美日韩在线一区二区| 麻豆免费精品视频| 日韩在线二区| 亚洲高清毛片| 亚洲精品一二| 国产伦理久久久久久妇女| 黄色网一区二区| 神马午夜久久| 男女精品网站| 久久国产免费看| 九九99久久精品在免费线bt| 亚洲啊v在线| 香蕉精品999视频一区二区| 日韩欧美在线精品| 欧美成人一二区| 尤物tv在线精品| 亚洲精品成人一区| 精品久久91| 久久精品国产大片免费观看| 丝袜亚洲另类欧美| 国产精品亚洲欧美一级在线| 9999国产精品| 香蕉久久国产| 久久精品国产99国产| 国精品一区二区| 天堂久久av| sm捆绑调教国产免费网站在线观看| 欧美精品羞羞答答| 亚洲一区二区小说| 精品国产乱码久久久久久1区2匹 | 欧洲精品一区二区三区| 久久亚洲欧洲| 狂野欧美性猛交xxxx| 蜜桃成人av| 国产亚洲精品美女久久久久久久久久| 亚洲欧洲高清| 亚洲精品国模| 国产精品二区不卡| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久a爱视频| 亚洲在线一区| 成人在线视频中文字幕| 午夜日韩av| 久久午夜影院| 蜜桃久久久久久| 在线中文字幕播放| 天堂va欧美ⅴa亚洲va一国产| 国产剧情一区二区在线观看| 精品日韩毛片| 精品国产亚洲一区二区三区大结局| 成人av二区| 老色鬼精品视频在线观看播放| 午夜一区在线| 伊人久久国产| 91成人在线网站| 欧美日韩激情在线一区二区三区| 国产日韩欧美在线播放不卡| 成人羞羞在线观看网站| 日韩在线电影| 蜜桃成人av| 国产精品久久久久蜜臀| 日本在线不卡视频一二三区| 欧美日韩在线播放视频| 国产精品va| 亚洲精品一二三**| 亚洲天堂久久| 国产一区二区三区国产精品 | 国产日韩在线观看视频| japanese国产精品| 四虎成人av| 欧美亚洲一区二区三区| 国产精品av久久久久久麻豆网| 国产精品对白| 亚洲九九精品| 黄色亚洲在线| 日本精品影院| 色婷婷综合网| 麻豆精品在线| 91成人在线精品视频| 久久国产精品99国产| 久久香蕉国产| 福利一区二区三区视频在线观看| 亚洲精品在线国产| 中文日韩欧美|