成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:6日期: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
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
在线免费亚洲电影| 国产成人精品三级| 成人午夜免费电影| 亚洲欧美成人一区二区三区| 欧美 日韩 国产在线| 欧美一区二区三区四区视频| 日韩和欧美一区二区| 亚洲欧美久久久| 一区二区三区欧美日| 欧美连裤袜在线视频| 国产欧美一区二区精品婷婷| 91丝袜美腿高跟国产极品老师 | 久久亚洲私人国产精品va媚药| 国产精品88av| 在线播放欧美女士性生活| 精品制服美女丁香| 欧美日韩国产电影| 激情五月播播久久久精品| 欧美婷婷六月丁香综合色| 蜜桃av一区二区在线观看| 一本一道久久a久久精品| 五月激情综合婷婷| 久久99伊人| 午夜精品成人在线视频| 久久亚洲视频| 日韩中文字幕91| 日本电影亚洲天堂一区| 蜜臀精品一区二区三区在线观看| 色哟哟精品一区| 琪琪久久久久日韩精品| 欧亚洲嫩模精品一区三区| 免费日韩伦理电影| 欧美日韩国产综合一区二区三区 | 欧美韩国一区| 久久色在线观看| 午夜激情一区| 亚洲人成7777| 欧美一级专区| 国内外成人在线| 欧美精品一区二区高清在线观看| 欧美日韩精品一区| 国产精品的网站| 国产欧美日韩视频一区二区三区| 亚洲成av人**亚洲成av**| 91黄视频在线| 国产一区二区在线观看视频| 欧美成人video| 欧美成人中文| 日韩一级在线观看| 99re成人在线| 亚洲精品视频在线看| 久久亚洲高清| 国产精品亚洲专一区二区三区 | 久久人人超碰精品| 欧美va天堂在线| 亚洲欧美一区二区视频| 国产精品手机视频| 秋霞av亚洲一区二区三| 欧美一区二视频| 97久久精品人人做人人爽50路| 国产精品免费aⅴ片在线观看| 国产伦理一区| 精久久久久久久久久久| 久久麻豆一区二区| 日韩一级在线| 久久不见久久见免费视频1| 欧美精品一区二区久久婷婷| 亚洲人成毛片在线播放女女| 日本三级韩国三级欧美三级| 欧美一区二区视频免费观看| 韩国av一区| 日韩和的一区二区| 欧美www视频| 黄色一区三区| 午夜精品久久久久久久| 欧美一级高清片| 国模精品一区二区三区| 午夜视频久久久久久| 在线播放国产精品二区一二区四区| 99精品欧美一区二区三区综合在线| 亚洲欧美国产77777| 欧美精品精品一区| 精品成人一区| 国产综合色产在线精品| 1024精品合集| 欧美日韩国产另类不卡| 欧美日韩四区| 日本不卡一区二区三区 | 日韩精品福利网| 精品国产精品一区二区夜夜嗨| 日韩一级精品| 国产成人综合视频| 尤物视频一区二区| 91精品婷婷国产综合久久| 激情自拍一区| 国产一区91精品张津瑜| 日韩一区在线免费观看| 欧美性一区二区| 国产精品mv在线观看| 久久精品久久精品| 国产精品素人视频| 欧美中文字幕一区二区三区亚洲| 欧美天天在线| 久久精品国产99久久6| 国产精品伦一区| 制服丝袜亚洲色图| 国产精品久久久久久久久久妞妞| 粉嫩欧美一区二区三区高清影视| 一卡二卡欧美日韩| 精品电影一区二区三区| 久久久综合网| 国产精品分类| 成人综合婷婷国产精品久久蜜臀| 天天影视色香欲综合网老头| 国产精品欧美一级免费| 欧美丰满少妇xxxxx高潮对白| 国产亚洲永久域名| 91视频在线观看免费| 视频一区二区不卡| 国产精品美女一区二区| 欧美一区二区三区性视频| 免费永久网站黄欧美| 国内精品久久久久久久影视麻豆| 韩国av一区二区| 亚洲国产裸拍裸体视频在线观看乱了| 国产三级精品三级| 91精品国产综合久久精品 | 精品sm捆绑视频| 91福利视频在线| 亚洲欧洲一区| 97精品电影院| 国内外精品视频| 天堂成人国产精品一区| 亚洲一区精彩视频| 亚洲国产精品www| 97国产精品videossex| 国产真实精品久久二三区| 亚洲高清视频在线| 国产欧美一区二区精品性| 欧美一区二区在线免费观看| 色综合久久天天| 国产精品一区视频网站| 伊人久久成人| 午夜精品区一区二区三| 成人免费毛片a| 免费观看一级欧美片| 亚洲免费成人av| 欧美色成人综合| 一本大道久久a久久综合婷婷| 国产日韩欧美| 日韩视频一区二区三区在线播放免费观看| 欧美喷水视频| 99精品视频在线观看免费| 国产又粗又猛又爽又黄91精品| 天天综合色天天| 午夜视频在线观看一区二区 | 91毛片在线观看| 国产v综合v亚洲欧| 国产一区二区三区四区五区入口| 日韩高清不卡一区二区三区| 国产精品美女久久久久久久久久久| 2欧美一区二区三区在线观看视频| 日韩欧美不卡在线观看视频| 日韩一级免费观看| 欧美精品第1页| 欧美午夜片在线看| 欧美三级视频在线| 欧美色综合网站| 欧美视频精品在线观看| 欧美专区在线观看一区| 欧美视频一区二区三区在线观看| 欧洲精品视频在线观看| 色婷婷激情一区二区三区| 一区二区三区不卡视频| 亚洲精品成人少妇| 亚洲色欲色欲www| 亚洲天堂成人网| 亚洲欧美乱综合| 亚洲精品免费看| 亚洲电影一区二区三区| 五月激情丁香一区二区三区| 日韩高清不卡一区| 老色鬼精品视频在线观看播放| 欧美aaaaa成人免费观看视频| 毛片一区二区三区| 国内精品久久久久影院色| 国产精品123区| 成人91在线观看| 91看片淫黄大片一级在线观看| 女女同性女同一区二区三区91| 欧美高清一级片在线| 欧美一区二区三区在线观看视频 | 久久久久久久精| 日本一区二区三区四区 | 亚洲成人动漫在线免费观看| 午夜电影一区二区| 蜜臀久久99精品久久久画质超高清| 黄色资源网久久资源365| 国产精品18久久久久久久久| 99久久国产免费看|