IP地址与整数之间的转换实现代码(asp.net)
知识点:一个二进制数,按位左移n位,就是把该数的值乘以2的n次方
二进制除二即右移一位
1、IP地址转换为整数
原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成
一个无符号32为整数。
举例:一个ip地址为10.0.3.193
每段数字 相对应的二进制数
10 00001010
0 00000000
3 00000011
193 11000001
组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是它了。
代码如下:
public class Ip {
public static void main(String[] args) {
System.out.print(ip2int("10.0.3.193"));
}
public static long ip2int(String ip) {
String[] items = ip.split("\\.");
return Long.valueOf(items[0]) << 24
| Long.valueOf(items[1]) << 16
| Long.valueOf(items[2]) << 8
| Long.valueOf(items[3]);
}
}
2、整数转换为IP地址
原理:把这个整数转换成一个32位二进制数。从左到右,每8位进行一下分割,得到4段8位的二进制数,把这些二进制数转换成整数然后加上”。”就是这个ip地址了
举例:167773121
二进制表示形式为:00001010 00000000 00000011 11000001
分割成四段:00001010,00001010,00000011,11000001,分别转换为整数后加上“。”就得到了10.0.3.193。
代码如下:
public class Ip {
public static void main(String[] args) {
System.out.print(int2ip(167773121));
}
public static String int2ip(long ipInt) {
StringBuilder sb = new StringBuilder();
sb.append(ipInt & 0xFF).append(".");
sb.append((ipInt >> 8) & 0xFF).append(".");
sb.append((ipInt >> 16) & 0xFF).append(".");
sb.append((ipInt >> 24) & 0xFF);
return sb.toString();
}
}
相关推荐
-
ASP.net做的IP访问限制
偶做留言本的时候想起做这么个,具体思路也许不好,做出来只是抛砖引玉,希望有更好的方法! IP添加页是用了一个ListBox, TextBox,两个Button,而在其他的页上则直接用当前IP对比数据库中的IP,代码如下! 限制IP添加页HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ip.aspx.cs" Inherits="admin_ip"
-
asp.net 通过指定IP地址得到当前的网络上的主机的域名
<%@ Import NameSpace="System.Net" %> <script language="C#" runat=server> protected void doClick(Object Src, EventArgs E){ IPHostEntry hostInfo = DNS.GetHostByAddr(txtIP.Text); showmsg.Text=hostInfo.Hostname; } </script&g
-
asp.net DZ论坛中根据IP地址取得所在地的代码
使用方法: IpSearch.GetAddressWithIP("202.96.128.167")CS类代码 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI
-
asp.net实现拒绝频繁的IP访问的方法
本文实例讲述了asp.net实现拒绝频繁的IP访问的方法.分享给大家供大家参考,具体如下: 首先我们要实现 IHttpModule接口 using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.UI; using System.Web.SessionState; using System.Configuration; namespace MyHttp
-
记录游客页面访问IP的简易实现代码 (asp.net+txt)
记录处理类 复制代码 代码如下: using System; using System.IO; /// <summary> /// File /// </summary> public class File { protected string FilePath; /// <summary> /// File构造 /// </summary> /// <param name="filePath">需要操作的文本路径</p
-
asp.net获取URL和IP地址的方法汇总
HttpContext.Current.Request.Url.ToString() 并不可靠. 如果当前URL为 http://localhost/search.aspx?user=http://csharp.xdowns.com&tag=%BC%BC%CA%F5 通过HttpContext.Current.Request.Url.ToString()获取到的却是 http://localhost/search.aspxuser=http://csharp.xdowns.com&tag=
-
ASP.NET获取真正的客户端IP地址的6种方法
在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址. 要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取. 不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables(
-
IP地址与整数之间的转换实现代码(asp.net)
知识点:一个二进制数,按位左移n位,就是把该数的值乘以2的n次方 二进制除二即右移一位 1.IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个无符号32为整数. 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 00001010 0 00000000 3 00000011 193 11000001 组合起来即为:00001010 00000000 00000011 1100000
-
C# IP地址与整数之间转换的具体方法
IP地址与整数之间的转换 1.IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号的32位整数. 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数10 000010100 000000003 00000011193 11000001组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是
-
python IP地址转整数
背景 今天有人问我 "为什么数据库中有人推荐使用 int 类型来保存 IP 地址?".现在(2020年)来看这个东西已经有点过时了,一方面是磁盘空间不在那么贵,另一方面是 IPv6 与这条法则不兼容. 下面我们就来看一下把 IPv4 地址转换成整数的原理和收益各是什么. 转换的原理 一个 IPv4 类的地址共分为四个部分 0.0.0.0 然而每一个部分的取值范围都在 0 ~ 255:也就是说每一个部分都可以用一个字节来保存,总共写个字节就够了,4 个字节不就是 int 吗? 第一步 把
-
C/C++ ip地址与int类型的转换实例详解
C/C++ ip地址与int类型的转换实例详解 前言 最近看道一个面试题目,大体意思就是将ip地址,例如"192.168.1.116"转换成int类型,同时还能在转换回去 思路 ip地址转int类型,例如ip为"192.168.1.116",相当于"."将ip地址分为了4部分,各部分对应的权值为256^3, 256^2, 256, 1,相成即可 int类型转ip地址,思路类似,除以权值即可,但是有部分字符串的操作 实现代码 #include &l
-
JS中IP地址与整数相互转换的实现代码
主要用于在js判断用户输入的一个ip段是否合法,如:192.168.1.11-192.168.1.134 实现代码一: function ipToNumber(ip) { var num = 0; if(ip == "") { return num; } var aNum = ip.split("."); if(aNum.length != 4) { return num; } num += parseInt(aNum[0]) << 24; num +=
-
C#之IP地址和整数互转的小例子
源码: 复制代码 代码如下: [StructLayout(LayoutKind.Explicit)] public struct IP { public IP(UInt32 value) { this._text1 = 0; this._text2 = 0; this._text3 = 0; this._text4 = 0; this._value = value; } public
-
VBS获取外网IP地址并发送到指定邮箱的代码
复制代码 代码如下: Function GetIPAddress() Dim Flag, Source Set GetIPObj = WScript.GetObject("http://ipseeker.cn//") Flag = 0 For i=1 To 10 If GetIPObj.readyState = "complete" Then Flag=1 Exit For End If WScript.Sleep 500 Next
-
用Python将IP地址在整型和字符串之间轻松转换
前言 大家应该都有所体会,对于字符串型的IP存入数据库中,实在是个即浪费空间又浪费性能的家伙,所以可爱的人们想出来将IP转换为整型存储.MySQL中存在INET_ATON() .INET_NTOA()函数进行IP整型和字符串之间的转换,那么Python中存在什么方法可以实现MySQL中INET_ATON() .INET_NTOA()的功能呢?方法肯定是有的- 方法如下 # 导入相关模块包 import socket import struct # 将IP从字符串转为整型 >>> int(
-
基于Java解决华为机试实现整数与IP地址间的转换
目录 1.简述 示例1 2.代码实现 1.简述 描述: 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 00001010 0 00000000 3 0000
-
java实现ip地址与十进制数相互转换
先看实例 代码如下 复制代码 代码如下: classip { privatestaticlongiptolong(stringstrip) //将127.0.0.1形式的ip地址转换成10进制整数,这里没有进行任何错误处理 { intj=0; inti=0; long[]ip=newlong[4]; intposition1=strip.indexof("."); intposition2=strip.indexof(".",position1+1); intpos
随机推荐
- Shell脚本break和continue命令简明教程
- MongoDB使用自带的命令行工具进行备份和恢复的教程
- 详解用webpack2.0构建vue2.0超详细精简版
- Pyhton中防止SQL注入的方法
- js常用排序实现代码
- JS实现随机颜色的3种方法与颜色格式的转化
- php做下载文件的实现代码及文件名中乱码解决方法
- php设计模式 Adapter(适配器模式)
- php设计模式介绍之值对象模式第1/5页
- Python中的一些陷阱与技巧小结
- javascript中数组的多种定义方法和常用函数简介
- jQuery通过写入cookie实现更换网页背景的方法
- 利用NPM淘宝的node.js镜像加速nvm
- 老生常谈jacascript DOM节点获取
- Lua获取文件长度和判断文件是否存在函数分享
- Python实现的tab文件操作类分享
- js简单倒计时实现代码
- 什么样的网站能赚钱?
- Android开发之创建可点击的Button实现方法
- 浅谈c++ vector和map的遍历和删除对象