前端智勇大闯关-第二季-第三题

简介: 前端智勇大闯关-第二季-第三题10的世界在我们的世界里,字母A很好理解键盘兄表示65无压力CPU表示01000001才是王道 1、题目中描述的三句话:二进制与十进制与A之间的相互转换2、在textarea元素中包含了一长串的二进制编码(0和1的世界)3、下图展示由二进制码转换成字母的过程每八位一组由二进制转化十进制,由十进制找到对应的asc码,将这些asc码每四个组成一组,再转换成十进制,最后,把十进制转成成asc码,对应的字母相应的就出来了。

前端智勇大闯关-第二季-第三题
10的世界
在我们的世界里,字母A很好理解
键盘兄表示65无压力
CPU表示01000001才是王道

1、题目中描述的三句话:二进制与十进制与A之间的相互转换
2、在textarea元素中包含了一长串的二进制编码(0和1的世界)
3、下图展示由二进制码转换成字母的过程
每八位一组由二进制转化十进制,由十进制找到对应的asc码,将这些asc码每四个组成一组,再转换成十进制,最后,把十进制转成成asc码,对应的字母相应的就出来了。。。

4、详细代码

var str = "0011000000110000001101100011100000110000001100000011011100110100001100000011000000110111001101000011000000110000001101110011
000000110000001100000011001101100001001100000011000000110010011001100011000000110000001100100110011000110000001100000011011100110111001
10000001100000011011100110111001100000011000000110111001101110011000000110000001100100110010100110000001100000011011000110011001100000
01100000011011001100101001100000011000000110110001100100011000000110000001101100110001100110000001100000011011001100110001100000011000
00011011000110111001100000011000000110111001100110011000000110000001100100110010100110000001100000011011000110011001100000011000000110
11001100110001100000011000000110110011001000011000000110000001100100110011000110000001100000011011001100010001100000011000000110111001
1010100110000001100000011011000111001001100000011000000110110011000100011000000110000001101110011010100110000001100000011011000111001"; var mstr = "",nstr=""; for(var i=0;i<str.length/8;i++){ var tmp = str.substr(i*8, 8); tmp = parseInt(tmp,2).toString(10); mstr += String.fromCharCode(tmp); } for(var i=0;i<mstr.length/4;i++){ var tmp = mstr.substr(i*4,4); tmp = parseInt(tmp,16).toString(10); nstr += String.fromCharCode(tmp); } console.log(nstr); //http://www.cnblogs.com/kuikui

 

接下来,分析分析这个题目是怎么实现的,知道答案了,其实是一个逆过程。
目标:由字符转换成二进制码
详细代码:

var str = "http://www.cnblogs.com/kuikui";
var marr = new Array(),narr= new Array(),parr=new Array();
var mstr = "";           
for(var i = 0;i<str.length;i++){
    marr.push( str.charAt(i).charCodeAt(0));
}           
for(var i=0;i<marr.length;i++){
    narr.push(("0000"+parseInt(marr[i],10).toString(16)).substr(-4));
}
str = narr.join("");  
for(var i =0;i<str.length;i++){
    mstr+=("00000000"+parseInt(str[i].charCodeAt(0),10).toString(2)).substr(-8);
}
console.log(mstr);


提示:
1、参考w3school
fromCharCode:可接受一个指定的 Unicode 值,然后返回一个字符串。
charCodeAt:方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
String.fromCharCode(65)      ==============    A
'A'.charCodeAt(0)     =================    65
2、进制之间的转换
如二进制转换成十进制
parseInt('01000001',2).toString(10)     ================     65
如十进制转换成二进制(二进制由8位组成)
("00000000"+parseInt(65,10).toString(2)).substr(-8)    =============     01000001


目录
相关文章
|
域名解析 缓存 前端开发
2018春招前端面试: 闯关记(精排精校) | 掘金技术征文
年末研发组解散失业, 选择回去学车了,也顺利拿到了驾照,最近回归大深圳,开始踏上漫漫的找工作之路。
319 0
|
前端开发 JavaScript
前端智勇大闯关-第二季-第二题
元宵节快乐,哈哈哈。。。搬运工之解 HTML:  CSS: // textarea样式 .mtextarea{ height: 140px; width: 260px; border: 1px solid #CCCCCC; margin-left:...
910 0
|
前端开发 Web App开发 UED
前端智勇大闯关-第二季-第一题
新春之际,新朋友老朋友,祝大家新年快乐。哈哈,给大家拜个晚年。UED 前端智勇大闯关-第二季(http://ued.taobao.com/quiz2/) 这里给出了第一的答案及实现原理,与大家探讨,可随便吐槽。
907 0
|
前端开发
前端智勇大冲关
有关淘宝ued前端智勇大冲关的解答一、先给出每一关的地址第一关:http://ued.taobao.com/quiz/index.php 第二关:http://ued.taobao.com/quiz/?ZzCMnTucu2VlfOC2xqrWQL4FY20 第三关:http://ued.taobao.com/quiz/?PGKPkziU7DRlfOC2xqrWQbMOY2w 第四关:http://ued.taobao.com/quiz/?PDSLnWnHvWplfOC2xqrWRLIFY2o 二、分析每一关的解答 第一关:考察css问题,考点在于字体颜色与背景颜色一样。
1219 0
|
前端开发 存储
前端智勇大冲关-第四关-12小球称重问题
有关前端智勇大冲关已给出了前三道题的解答,开始给出第四道题的解答,可能会有些出入,仅供大家的参考与学习。如果有误,请大家帮忙更正,谢谢。 balls[]   定义长度为12的数组status   定义小球的轻重状态   -1代表轻   0代表正常  1代表重 随机生成-1或1两种状态的一种,并随机放在balls数组中,并记录这个坏球在数组中的位置 下面是我给出了一个简单的模拟示例。
898 0
|
11月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
875 14
|
11月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
224 0
|
11月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
345 6
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
11月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
444 1