[JS]ipv6地址16进制格式转换为二进制表示
描述:ipv6地址16进制格式转换为二进制表示
ipv6地址格式:3001:0000:0000:0000:0000:0000:1111:1111
方案1:
//传入str_16_based:3001:0000:0000:0000:0000:0000:1111:1111
function hex_to_bin(str_16_based) {var str_2_based="";var str_array = str_16_based.split(":");var hex_array = [{key:0,val:"0000"},{key:1,val:"0001"},{key:2,val:"0010"},{key:3,val:"0011"},{key:4,val:"0100"},{key:5,val:"0101"},{key:6,val:"0110"},{key:7,val:"0111"},{key:8,val:"1000"},{key:9,val:"1001"},{key:'a',val:"1010"},{key:'b',val:"1011"},{key:'c',val:"1100"},{key:'d',val:"1101"},{key:'e',val:"1110"},{key:'f',val:"1111"}];for(var index = 0; index < str_array.length; index++){console.log(str_array[index]);//3001var value="";for(var i = 0; i < str_array[index].length; i++){for(var j = 0; j < hex_array.length; j++){if(str_array[index].charAt(i).toLowerCase() == hex_array[j].key){value = value.concat(hex_array[j].val);break;}}}console.log("value: " + value);//0011000000000001(16位)str_2_based = str_2_based.concat(value);//0011000000000001//str_2_based = str_2_based.concat(value,":");//0011000000000001:}console.log("str_2_based: " + str_2_based);//00110000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000100010001000100010001 (128位)return str_2_based;}
方案2:
//传入str_16_based:3001:0000:0000:0000:0000:0000:1111:1111
function hex_to_bin(str_16_based) {var str_2_based="";var str_array = str_16_based.split(":");for(var index = 0; index < str_array.length; index++){console.log(str_array[index]);//3001var value="";var value = parseInt(str_array[index],16).toString(2).padStart(16,'0');//parseInt(str_array[index],16)=>16进制转换为10进制//toString(2)=>10进制转换为2进制数//padStart(16,'0')=>将转换的二进制数补足至16位(前面补0)console.log("value: " + value);//0011000000000001(16位)str_2_based = str_2_based.concat(value);//0011000000000001//str_2_based = str_2_based.concat(value,":");//0011000000000001:}console.log("str_2_based: " + str_2_based);//00110000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000100010001000100010001 (128位)return str_2_based;}
[JS]ipv6地址16进制格式转换为二进制表示相关推荐
- PowerBuilder实现16进制字符串转换为10进制字符串
1.该问题困扰了我很久(主要还是基础不牢). 实现原理:将16进制字符串转换为二进制字符串再去计算. 然后利用二进制的性质(逢二进一)进行转换为10进制. 废话不多说,上代码了. 在这里插入代码片 C ...
- 16进制格式的字符串怎样转换为整数
16进制格式的字符串怎样转换为整数 请教一个问题在使用一个第三方包的时候我在res/layout目录创建了一个跟该包下layout同名的布局文件结果显示的时候实现效果就被项目中新创建的布局样式所替代那 ...
- JS 字符串转换16进制
1.字符串转换UTF8字节 function strToUtf8Bytes(str) {const utf8 = [];for (let ii = 0; ii < str.length; ii+ ...
- 将16进制数转换为8进制数输出——算法
16进制数转换为8进制数 题目描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大写字母AF ...
- js随机生成16进制颜色值
js随机生成16进制颜色值 背景 很多情况下,我们会遇到给某个dom设置随机颜色,这里采用js函数直接生成,并返回随机16进制颜色值. function getRandomColor{var str= ...
- js自定义随机16进制颜色
js自定义随机16进制颜色 function colorfn() {let str = Math.random().toString().slice(2, 8);if (str.length < ...
- C++将double类型小数以16进制格式打印出
只需要用工具,不要知道方法的,直接可以下载文件:decimal2binary.exe,在资源区里,没有病毒哈: 顺便推荐下这个永硕E盘 存储专家,免费账户有1000M存储空间,存点小东西也不错 ...
- python- ASCII字符串转为16进制格式
代码 #!/usr/bin/python3 hexForamt="\\x" # 更改这里的ASCII字符串 asciiStr="AAABBBccc" def a ...
- 用JavaScript写代码将硬盘序列号从16进制字符串转换为ASCII字符串,兼谈EditPlus和Edge浏览器对JavaScript脚本支持的一点差别
之前写的系统信息收集报告程序SysInfo的一个功能就是收集并报告系统中的硬盘序列号.在之前的测试中这项功能表现不错,但前两天用SysInfo收集一台电脑的信息时,显示的硬盘序列号与其它硬盘序列号读取 ...
最新文章
- JS选中OPTION
- 一步一个脚印学习WCF系列之WCF基础术语—绑定(Binding)(五)
- 产品分析之需求分析的六原则
- mysql数据库ip地址_MySQL数据库存储IP地址的方法
- mono linux c 服务,使用mono-service在Linux上包装Windows服务
- [html] HTML与XHTML二者有不同
- 基于Microsoft Translator API的vim翻译插件
- Exploring Ionic Lists
- VBS教程(入门级)
- CSYZDay2模拟题解
- 最易被误读的十大职业排行榜
- 利用Gson对json进行flatten(扁平化)处理
- 程序员这条路,选择深耕技术,还是全面学习比较好?
- 上海移动HG6145D光猫之超级用户登录方法
- html 文本换行 \n 不换行 空格无效
- 【java-日志组件】slf4j+logback配置及详解
- 计算机专业的大学生必考证书,大学必考8大证书计算机
- 魔术的逻辑(三)——明明是假的,但为何奇迹依旧美妙?
- 大数据 BigData
- Compound原理