天天看点

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

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

10的世界

在我们的世界里,字母A很好理解

键盘兄表示65无压力

CPU表示01000001才是王道

1、题目中描述的三句话:二进制与十进制与A之间的相互转换

2、在textarea元素中包含了一长串的二进制编码(0和1的世界)

3、下图展示由二进制码转换成字母的过程

每八位一组由二进制转化十进制,由十进制找到对应的asc码,将这些asc码每四个组成一组,再转换成十进制,最后,把十进制转成成asc码,对应的字母相应的就出来了。。。

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

4、详细代码

接下来,分析分析这个题目是怎么实现的,知道答案了,其实是一个逆过程。

目标:由字符转换成二进制码

详细代码:

提示:

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