国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c#中將IP地址轉(zhuǎn)換成無符號整形數(shù)的方法與逆變換方法

2023-05-18 12:33:15
字體:
供稿:網(wǎng)友

我們知道 IP地址就是給每個連接在Internet上的主機(jī)分配的一個32bit地址。

按照TCP/IP協(xié)議規(guī)定,IP地址用二進(jìn)制來表示,每個IP地址長32bit,比特?fù)Q算成字節(jié),就是4個字節(jié)。
而c#中int32的數(shù)就是四個字節(jié)的,但是符號要占掉一位所以就不夠了,但是無符號的 UInt32 就沒有這樣的問題。

所以理論上講:UInt32是可以完整保存一個IP地址的。那下面的兩個方法就是對IP與UInt32之間的互轉(zhuǎn)換。

        public static string Int2IP(UInt32 ipCode) {
            
byte a = (byte)((ipCode & 0xFF000000>> 0x18);
            
byte b = (byte)((ipCode & 0x00FF0000>> 0xF);
            
byte c = (byte)((ipCode & 0x0000FF00>> 0x8);
            
byte d = (byte)(ipCode & 0x000000FF);
            
string ipStr = String.Format("{0}.{1}.{2}.{3}", a, b, c, d);
            
return ipStr;
        }

        
public static UInt32 IP2Int(string ipStr) {
            
string[] ip = ipStr.Split('.');
            
uint ipCode = 0xFFFFFF00 | byte.Parse(ip[3]);
            ipCode 
= ipCode & 0xFFFF00FF | (uint.Parse(ip[2]) << 0x8);
            ipCode 
= ipCode & 0xFF00FFFF | (uint.Parse(ip[1]) << 0xF);
            ipCode 
= ipCode & 0x00FFFFFF | (uint.Parse(ip[0]) << 0x18);
            
return ipCode;
        }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 建始县| 潢川县| 盐源县| 克山县| 南川市| 孙吴县| 邻水| 林甸县| 株洲市| 信宜市| 介休市| 京山县| 凉山| 二连浩特市| 新绛县| 密云县| 青铜峡市| 巴里| 蒙阴县| 通化市| 深泽县| 神木县| 湖南省| 剑阁县| 福州市| 拉孜县| 察哈| 濉溪县| 静乐县| 宜黄县| 罗平县| 礼泉县| 株洲市| 阿巴嘎旗| 吴江市| 武安市| 嘉善县| 马关县| 建宁县| 卢湾区| 弥勒县|