js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现:

  1. //10进制转为16进制
  2. ().toString() // =>"a"
  3. //8进制转为16进制
  4. ().toString() // =>"a"
  5. //16进制转为10进制
  6. (0x16).toString() // =>"22"
  7. //16进制转为8进制
  8. (0x16).toString() // =>"26"
  9. //10进制转为2进制 //=>
  10. ().toString() // => "10001010111"
  11. //8进制转为2进制 //=>
  12. ().toString() //=>"1001001001"
  13. //16进制转为2进制 //=>
  14. (0x16).toString() // => "10110"

  如果要处理2进制到10进制,16进制到10进制,8进制到10进制, 需要用了paresInt这个方法:

  1. //2进制到10进制;
  2. parseInt(,) //=>2
  3. //2进制到10进制;
  4. parseInt(,) //=>4
  5. //16进制到10进制
  6. parseInt(, ) //=>18
  7. //8进制到10进制
  8. parseInt(,); //=>10

  进制转换

  如果要实现进制之间的转换, 可以利用parseInt方法, 先转化为10进制, 然后再利用toString(参数), 转化成不同的进制;

  利用toString和parseInt方法可以实现一个进制转化的工具:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>无标题文档</title>
  6.  
  7. </head>
  8.  
  9. <body>
  10. <script language="javascript">
  11. function test()
  12. {
  13. var num=document.getElementById("in").value;
  14. var type=document.getElementById("title");
  15. var tynum,to;
  16. for(var i=;i<type.length;i++)
  17. {
  18. if(type[i].selected)
  19. tynum=parseInt(type[i].value);
  20. }
  21. switch(tynum)
  22. {
  23. case():to=parseInt(num).toString();break;
  24. case():to=parseInt(num).toString();break;
  25. case():to=parseInt(num).toString();break;
  26. case():to=parseInt(num,);break;
  27. case():to=parseInt(num,);break;
  28. case():to=parseInt(num,);break;
  29. case():to=parseInt(num,).toString();break;
  30. case():to=parseInt(num,).toString();break;
  31. case():to=parseInt(num,).toString();break;
  32. case():to=parseInt(num,).toString();break;
  33. case():to=parseInt(num,).toString();break;
  34. case():to=parseInt(num,).toString();break;
  35. }
  36. if(isNaN(to))
  37. to="输入非法字符了哦"
  38. document.getElementById("out").value=to;
  39.  
  40. }
  41. </script>
  42. <select name="title" id="title" style="width:152px;">
  43. <option value="">十进制转二进制</option>
  44. <option value="">十进制转八进制</option>
  45. <option value="">十进制转十六进制</option>
  46. <option value="">二进制转十进制</option>
  47. <option value="">八进制转十进制</option>
  48. <option value="">十六进制转十进制</option>
  49. <option value="">二进制转八进制</option>
  50. <option value="">八进制转二进制</option>
  51. <option value="">二进制转十六进制</option>
  52. <option value="">十六进制转二进制</option>
  53. <option value="">八进制转十六进制</option>
  54. <option value="">十六进制转八进制</option>
  55. </select><br />
  56.  
  57. <input type="text" id="in" /><br>
  58. <input type="text" id="out" /><br/>
  59. <input type="button" value="change" onclick="test()" />
  60. <font color="#FF0000" style="font-size:12px;">*注:存在非法字符时,我们只截断有效字符进行转换</font>
  61. </body>
  62. </html>

  简单加密解密

  把字符串转化成unicode, 然后再把unicode转成不同的进制 , 实现代码加密处理:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <title></title>
  6. </head>
  7. <body>
  8. <script>
  9. function en(code, h){
  10. //简单的jS加密解密<br>//code为对应的字符串,h为(2,8,10,16)就是要转成的几进制<br>function en(code, h) {
  11. var monyer = new Array();var i;
  12. for(i=;i<code.length;i++)
  13. monyer+=code.charCodeAt(i).toString(h)+"_";//就是把字符串转成ascll码,然后再转成你想的几进制
  14. return monyer;
  15. };
  16. function de(code, h) {
  17. var i,s="",code = code.split("_");
  18. for(i=;i<code.length;i++) {
  19. s += String.fromCharCode(parseInt(code[i],h));
  20. };
  21. return s
  22. };
  23.  
  24. en("1哇哈哈",) //=> "61_52307_52310_52310_"
  25. de("61_52307_52310_52310_",) //=> "1哇哈哈
  26. </script>
  27. </body>
  28. </html>

  零宽字符

  利用零宽字符的零宽度, 我们把所有的字符串转化成二进制, 然后利用零宽字符进行表示, 那么生成的字符串长度就会为0, 主要反编译即可还原,

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <title></title>
  6. </head>
  7. <body>
  8. <script>
  9. function en(str) {
  10. var rep = {
  11. '': '\u200b',
  12. '': '\u200c',
  13. '': '\u200d',
  14. '': '\uFEFF'
  15. };
  16. str = str.replace(/[^\x00-\xff]/g, function (a) { // 转码 Latin-1 编码以外的字符。
  17. return escape(a).replace('%', '\\');
  18. });
  19.  
  20. str = str.replace(/[\s\S]/g, function (a) { // 处理二进制数据并且进行数据替换
  21. a = a.charCodeAt().toString();
  22. a = a.length < ? Array( - a.length).join('') + a : a;
  23. return a.replace(/../g, function (a) {
  24. return rep[a];
  25. });
  26. });
  27. return str;
  28. }
  29. ;
  30.  
  31. function de(str) {
  32. return unescape(str.replace(/.{}/g, function (a) {
  33. var rep = {"\u200b": "", "\u200c": "", "\u200d": "", "\uFEFF": ""};
  34. return String.fromCharCode(parseInt(a.replace(/./g, function (a) {
  35. return rep[a]
  36. }), )).replace(/\\/g,"%")
  37. }))
  38. }
  39. var str = en("1哇哈哈");
  40. console.log(str.length);
  41. console.log(de(str));
  42. </script>
  43. </body>
  44. </html>

  参考:

  JS简单加密(我的另外一篇随笔):http://www.cnblogs.com/diligenceday/p/3811440.html

JS中的进制转换以及作用的更多相关文章

  1. JS中的进制转换

    1 前言 js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现. 仅作为记录. 2 代码 //10进制转为16进制 (10).to ...

  2. java中16进制转换10进制

    java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...

  3. Oracle 中的进制转换

    Oracle 中的进制转换 */--> Oracle 中的进制转换 Table of Contents 1. 进制名 2. 10进制与16进制互相转换 2.1. 10进制转换为16进制 2.2. ...

  4. java中的进制转换

    java中的进制转换及转换函数 转自:https://blog.csdn.net/V0218/article/details/74945203 Java的进制转换 进制转换原理 十进制 转 二进制: ...

  5. iOS蓝牙中的进制转换

    Bluetooth4.0.jpg 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制,为了节省空间,蓝牙也会把16 ...

  6. iOS蓝牙中的进制转换,数据格式转换

    最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制,为了节省空间,蓝牙也会把16进制(NSData)拆成2进制记录 ...

  7. c#与js中10进制16进制的转化,记录防忘

    js: var param="11"; param=parseInt(param,16);  //17 param=parseInt(param,10);  //11 //后面的参 ...

  8. python中的进制转换

    python中常用的进制转化通常有两种方法: 1.用内置函数hex(),oct(),bin(),对应的数字表示为0x,0o,0b,功能是把十进制数字转化为其他进制  >>> int( ...

  9. Delphi中的进制转换

    二进制转换 function binToDec(Value: string): integer; var str: string; i: integer; begin Str := UpperCase ...

随机推荐

  1. Android-配置文件中设置“android:clickable="false"无效的原因及解决办法

    开发中遇到的问题:要实现一个button初始为不可点击,于是在配置文件中设置了android:clickable="false"运行后发现还是可以点击,于是写在了Activity中 ...

  2. 【产品 & 设计】入门 - 工具篇 - Sketch + Skala Preview

    前言 做产品和设计快 1 年了,积累了一点经验分享一下 —— 抛砖引玉,欢迎交流. 声明  欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: ht ...

  3. iOS开发之Socket通信实战--Request请求数据包编码模块

    实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...

  4. python文件读写操作与linux shell变量命令交互执行

    python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼! #coding=utf-8 #!/usr/bin/python import os impor ...

  5. OkHttp简介

    什么是OKHttp 一般在Java平台上,我们会使用Apache HttpClient作为Http客户端,用于发送 HTTP 请求,并对响应进行处理.比如可以使用http客户端与第三方服务(如SSO服 ...

  6. jQuery对表格的操作及其他应用

    表格操作 1.隔行变色:对普通表格进行隔行换色:单击显示高亮样式:复选框选中高亮 <!DOCTYPE html> <html> <head> <meta ht ...

  7. Ajax.ActionLink参数详解

    该语法会生成一个a标签,点击a标签会执行一个Ajax请求. 有12个方法重载,下面详解方法中的各项参数: 参数一:linkText string类型 说明:链接显示的文字内容 参数二:actionNa ...

  8. 杀毒软件导致YourSQLDba备份失败

    有一朋友咨询我,他配置的YourSQLDba 备份作业经常出现备份失败的情况,我帮忙查看了一下,首先从告警邮件中查看出错的具体信息,执行了下面SQL语句(来自于告警邮件) Exec YourSQLDb ...

  9. 做的一个HTML表白页面

    页面地址: http://myspace123.qiniudn.com/love/index.html 目录文件结构: index.html <html xmlns="http://w ...

  10. 《java JDK7 学习笔记》之类和对象

    1.在java中,要产生对象必须先定义类,类是对象的设计图,对象是类的实例.类定义时使用class关键词,建立实例对象要使用new关键词.以类名声明的变量,称为参考名称.参考变量或直接叫参考. 2.想 ...