JavaScript字符串与二进制相互转换详解

作者:小满时间:2026-10-23 09:07:14浏览:485

本文详细解析JavaScript中字符串与二进制数据的相互转换方法。通过charCodeAt和fromCharCode两个核心API,结合split、toString和parseInt等字符串处理函数,实现了字符到二进制串及反向的完整逻辑。文中提供了多段示例代码,涵盖单字符、多字符及中文汉字的转换测试,并附带运行结果截图,帮助开发者掌握底层编码处理技巧。

字符串与二进制转换概述

在JavaScript开发中,经常需要处理字符串与二进制数据之间的转换。下面通过具体的代码示例来展示这一过程。


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

十进制转二进制基础

首先介绍如何将十进制数值转换为二进制表示形式。


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

var a = "我";
console.log(a.charCodeAt()); //25105
console.log(a.charCodeAt().toString(2)); //110001000010001 
 
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 
  
//将字符串转换成二进制形式,中间用空格隔开
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")); //@%$+  

字符串与字节码转换实现

此外,还将探讨JavaScript中字符串与字节码(ASCII码)之间的相互转换机制。

以下是实现上述功能的具体代码片段。


//将字符串转化为二进制的数据
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(binaryStr);
  }  
  return result.join("");
}

//二进制转为字符串
function binaryToStr(str){
  var result = [];
  //
  //通过空格来分开二进制的字符
  var list = str.split(" ");
  for(var i=0;i<list.length;i++){
     var item = list[i];
     //转为asciicode 码
     var asciiCode = parseInt(item,2);
     //转为文字
     var charValue = String.fromCharCode(asciiCode);
     //添加到集合中
     result.push(charValue);
  }
  //返回结果
  return result.join("");
}

执行上述代码后,控制台将输出相应的测试结果。

字符串与二进制转换概述

通过对上述代码的分析与测试,可以验证转换逻辑的正确性。

以上内容介绍了JavaScript中字符串与二进制相互转化的实例代码,希望能对读者有所帮助。如有任何疑问,欢迎留言,小编会及时回复。感谢大家的支持,若觉得本文有用,欢迎转载并注明出处。

作者最新文章