JavaScript转换二进制编码为ASCII码的方法


Posted in Javascript onApril 16, 2015

本文实例讲述了JavaScript转换二进制编码为ASCII码的方法。分享给大家供大家参考。具体如下:

<html>
<head>
<script type="text/javascript">
var input_id = "bin_text";
var answer_id = "answer";
function convertToASCII() {
 var bin_text = document.getElementById(input_id);
 var answer = document.getElementById(answer_id);
 if (!answer) {
  alert("Error: No element with id \""+answer_id+"\".");
  return;
 }
 if (bin_text)
  var text = bin_text.value;
 else {
  error("No element with id \""+input_id+"\".");
  return;
 }
 var divisible = text.length % 8;
 var nonBinary = /[^0|1]/.test(text);
 if (text.length > 0 && divisible == 0 && !nonBinary) {
  var regex = /[0|1]{8}/g;
  var str = text.match(regex);
  var code = 0;
  var placeVal, exp, digit;
  var ascii = '';
  while (str.length > 0) {
   code = 0;
   for (var i=0; i<str[0].length; i++) {
    placeVal = 7-i;
    exp = Math.pow(2, i);
    digit = str[0].charAt(placeVal);
    code += exp*digit;
   }
   str.shift();
   ascii += String.fromCharCode(code);
  }
  answer.innerHTML = "<p class=\"binary\">" + ascii + "</p>";
 }
 else {
  error("Malformed binary.");
  return;
 }
 function error(errText) {
  answer.innerHTML = "<span class=\"error\">Error: " + 
  errText + "</span>";
 }
}
</script>
<style type="text/css">
.block {
 width: 45%;
 border: 1px solid #000000;
 padding: 10px;
}
.binary {
 background-color: #C6FFC7;
 padding: 3px;
}
.error {
 background-color: #FFC6C6;
 padding: 3px;
}
</style>
</head>
<body>
<div style="float:left;" class="block">
 <form onSubmit="convertToASCII(); return false;">
  <p>Enter some binary to decode:</p>
  <input type="text" id="bin_text"/>
 </form>
</div>
<div style="float:right;" class="block">
 <p id="answer"><br/></p>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 面向对象的 私有成员和公开成员
May 13 Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 Javascript
JavaScript中var关键字的使用详解
Aug 14 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
May 09 Javascript
jquery点击切换背景色的简单实例
Aug 25 Javascript
基于slideout.js实现移动端侧边栏滑动特效
Nov 28 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
Dec 16 Javascript
详解Vue2.0组件的继承与扩展
Nov 23 Javascript
vue-test-utils初使用详解
May 23 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
Aug 26 Javascript
vue elementUI表格控制对应列
Apr 13 Vue.js
JavaScript实现彩虹文字效果的方法
Apr 16 #Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
Apr 16 #Javascript
JQuery跳出each循环的方法
Apr 16 #Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 #Javascript
jQuery Ajax中的事件详细介绍
Apr 16 #Javascript
JavaScript实现页面5秒后自动跳转的方法
Apr 16 #Javascript
JavaScript实现随机替换图片的方法
Apr 16 #Javascript
You might like
在PHP中利用XML技术构造远程服务(上)
2006/10/09 PHP
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
ThinkPHP模型详解
2015/07/27 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
javascript innerHTML使用分析
2010/12/03 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python中的条件判断语句基础学习教程
2016/02/07 Python
python字典DICT类型合并详解
2017/08/17 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Python sorted对list和dict排序
2020/06/09 Python
实习生体会的自我评价范文
2013/11/28 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
本科应届生自荐信
2014/06/29 职场文书
公民代理授权委托书
2014/09/24 职场文书
妈妈别哭观后感
2015/06/08 职场文书
给朋友的赠语
2015/06/23 职场文书