JS字符串與二進制的相互轉化

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

  十進制轉二進制javascript

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
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")); //@%$+  

 

  轉載請註明出處:http://www.cnblogs.com/it-deepinmind/java

相關文章
相關標籤/搜索