Mac地址转换成long长整型
Mac地址转换成long长整型
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
namespace Test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("第一种方式");
//1、将MAC转为长整形:
string vv = "00-26-2D-F2-5C-28".Replace("-", "");
long valuetolong = long.Parse(vv, System.Globalization.NumberStyles.HexNumber);
Console.WriteLine(valuetolong.ToString());
//2、解析长整形的数据使其转换为MAC;
string valuetostr = valuetolong.ToString("X2");
valuetostr = valuetostr.PadLeft(12, '0');
List<string> listArr = new List<string>();
for (var i = 0; i <= 11; i++)
{
listArr.Add(valuetostr[i].ToString());
if (i < 11 && i % 2 == 1)
{
listArr.Add("-");
}
}
valuetostr = string.Join("", listArr.ToArray());
Console.WriteLine("第二种方式");//这种方式参考https://zhidao.baidu.com/question/1430800143352309939.html
var f1 = Converter.Str2Long("00-26-2D-F2-5C-28");
Console.WriteLine(f1);
Console.WriteLine(f1.ToString("X2"));
var f2 = Converter.Long2Str(f1);
Console.WriteLine(f2);
Console.WriteLine(valuetostr);
Console.Read();
}
private void Form1_Load(object sender, EventArgs e)
{
//此处的 version="1.0" encoding="UTF-8", 在生成的时候一定要有引号,不然会抛出异常
string info = @"<?xml version=""1.0"" encoding=""UTF-8"" ?><ERRORS><ERROR><MSGID>2011323102411&1595489505</MSGID></ERROR><ERROR><MSGID>2011323102411&1396395659</MSGID></ERROR></ERRORS>";
XmlDocument doc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(info, XmlNodeType.Document, null);
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)//判断节点类型为Element
{
//判断节点为MSGID
if (reader.Name == "MSGID")
{
//如果节点为MSGID,继续读下一个节点,即读取MSGID节中电话号码
reader.Read();
//如果节点类型是节点的文本内容
if (XmlNodeType.Text == reader.NodeType)
{
//读取电话号码
// this.richTextBox1.Text += reader.Value + "/r/n";
}
}
}
}
}
}
public class Converter
{
private static String keys = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static int exponent = keys.Length;
public static string Long2Str(long value)
{
string result = string.Empty;
do
{
long index = value % exponent;
result = keys[(int)index] + result;
value = (value - index) / exponent;
}
while (value > 0);
result = result.PadLeft(12, '0');
List<string> listArr = new List<string>();
for (var i = 0; i <= 11; i++)
{
listArr.Add(result[i].ToString());
if (i < 11 && i % 2 == 1)
{
listArr.Add("-");
}
}
return string.Join("", listArr.ToArray());
}
public static long Str2Long(string value)
{
value = value.Replace("-", "");
long result = 0;
for (int i = 0; i < value.Length; i++)
{
int x = value.Length - i - 1;
result += keys.IndexOf(value[i]) * Pow(exponent, x);
}
return result;
}
/// <summary>
/// 一个数据的N次方
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
private static long Pow(long baseNo, long x)
{
long value = 1;
while (x > 0)
{
value = value * baseNo;
x--;
}
return value;
}
}
}
原文链接:https://zhidao.baidu.com/question/1430800143352309939.html
Mac地址转换成long长整型的更多相关文章
- Mac地址转换成long长整型 2
数据之间的转换可以使用 System.Convert Mac地址转换成long长整型 /// <summary> /// 解析长整形的数据使其转换为macID /// </sum ...
- IP地址转换32为长整型
Programming Question: Convert an IPv4 address in the format of null-terminated C string into a 32-bi ...
- Python基础:数值(布尔型、整型、长整型、浮点型、复数)
一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...
- Java把长整型时间转成字符串日期
数据库里存放的是timestamp格式,前端取得后是这种:1436255550710长整型时间截转换成"2015-07-07"这种格式呢? import java.io.IOExc ...
- [转]字符型IP地址转换成数字IP的SQL函数
使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助. /**//*--调用示例 sele ...
- JAVA 长整型转换为IP地址的方法
JAVA 长整型转换为IP地址的方法 代码例如以下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Lon ...
- javascript没有长整型
记录一下前几天踩坑的经历. 背景:一个项目某一版之后很多用easyui的表格控件treegrid渲染的表格都显示不出来了 奇怪的地方主要有以下几点: 项目在测试环境才会这样,在本机能够正常运行,多次重 ...
- 整型,长整型,无符号整型等 大端和小端(Big endian and Little endian)
一.大端和小端的问题 对于整型.长整型.无符号整型等数据类型,Big endian 认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节):而 Little endian ...
- python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串
磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...
随机推荐
- Django组件之forms
forms:校验字段功能 针对一个实例:注册用户讲解. 模型:models.py class UserInfo(models.Model): name=models.CharField(max_len ...
- javascript reduce 前端交互 总计
sum(){ return this.products.reduce((total,next)=>{ return total + next.price * next.aumout},0) } ...
- 软工作业-----Alpha版本第一周小结
软工作业-----Alpha版本第一周小结 Part1.第一周周计划记录 姓名 学号 周前计划安排 每周工作记录 自我打分 yrz(队长) 1417 1.进行任务分析 2.任务分配 ...
- MySQL进阶15--TCL事务控制语言--建立结束事务/设置断点--默认隔离级别--脏读/幻读/不可重复读
#TCL事物控制语言 : /* Transaction control language : 事物控制语言 事务: 一个或者一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行; ...
- Selenium常用API的使用java语言之3-selenium3 浏览器驱动
1.下载浏览器驱动 当selenium升级到3.0之后,对不同的浏览器驱动进行了规范.如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动. 各浏览器下载地址: Firefo ...
- VS2010 insert Oracle数据库
背景:批量插入上万条数据到Oracle数据库的一张表里. 工具:VS2010. 因为是访问远程数据库,所以需要先装一个oracle client. 使用oracle客户端的方式访问数据库,需要添加对其 ...
- LOJ P10150 括号配对 题解
Analysis 区间dp裸题 初始化有点麻烦 i,j能匹配时要特判 #include<iostream> #include<cstdio> #include<cstri ...
- jquery实现图片切换
<div> <img class="imgclick" src="img/pic1.png" /> </div> <s ...
- (4)打造简单OS-loader硬盘加载和C++写入文件
0.简要说明: 我们完全可以使用bochs创建映像文件,如https://blog.csdn.net/jadeshu/article/details/89046838 ,那么为什么还去用C++去模 ...
- 【免费】Linux命令行与Shell脚本编程大全 第3版 PDF全本 21MB 百度网盘下载
2019年7月12日更新 链接: https://pan.baidu.com/s/17RDrepFf-GI427I7k3jBcQ 提取码: qk8k 网上的大部分都要积分什么的,很麻烦.这本很清晰,分 ...