JS字符串与二进制的转化

Posted 爱博子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS字符串与二进制的转化相关的知识,希望对你有一定的参考价值。

JS字符串与二进制的相互转化

1
2
3
4
5
//字符串转ascii码,用charCodeAt();
//ascii码转字符串,用fromCharCode();
var str = "A";
var code = str.charCodeAt();
var str2 = String.fromCharCode(code);

  十进制转二进制

1
2
3
var a = "i";
console.log(a.charCodeAt()); //105
console.log(a.charCodeAt().toString(2)); //1101001

  

1
2
3
var a = "我";
console.log(a.charCodeAt()); //25105
console.log(a.charCodeAt().toString(2)); //110001000010001

  

1
2
3
4
var a = "我们";
console.log(a.length); //2
var list = a.split("");
console.log(list.length); //2<br>console.log(a.charCodeAt().toString(2)); //110001000010001 100111011101100

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//将字符串转换成二进制形式,中间用空格隔开
function strToBinary(str){
    var result = [];
    var list = str.split("");
    for(var i=0;i<list.length;i++){
        if(i != 0){
            result.push(" ");
        }
        var item = list[i];
        var binaryStr = item.charCodeAt().toString(2);
        result.push(binartStr);
    }   
    return result.join("");
}
 
console.log(strToBinary("我们")); //110001000010001 100111011101100
console.log(strToBinary("@%$+")); //1000000 100101 100100 101011
 
//将二进制字符串转换成Unicode字符串
function binaryToStr(str){
    var result = [];
    var list = str.split(" ");
    for(var i=0;i<list.length;i++){
         var item = list[i];
         var asciiCode = parseInt(item,2);
         var charValue = String.fromCharCode(asciiCode);
         result.push(charValue);
    }
    return result.join("");
}
 
console.log(binaryToStr("110001000010001 100111011101100")); //我们
console.log(binaryToStr("1000000 100101 100100 101011")); //@%$+ 

 

以上是关于JS字符串与二进制的转化的主要内容,如果未能解决你的问题,请参考以下文章

字符串中数字与整型数字的转化

python List与String 转化问题

如何用JS将一段十六进制(HEX)字符串转换为汉字?

JAVA 十六进制与字符串的转换

java字符串与二进制的相互转化

为何js计算带有小数的加法的时候会出现误差?