每一天都很喜欢你

我喜欢你

基础

字符串和ascii码之间的转换

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

十进制和其它机制之间的转换

1
2
3
4
5
6
7
8
9
10
11
12
13
//其它进制转十进制,用
# parseInt(string, radix-如果该参数小于 2 或者大于 36,则parseInt() 将返回 NaN);
# 如果未设置radix或为0,则会根据string来判断要解析的数字的基数;
//十进制转其它进制,用
# NumberObject.toString(radix-默认为10);
let a = 130;
a.toSting(2);//十进制 -> 二进制
a.toString(8)//十进制 -> 八进制

let b = 10010110;
parseInt(b, 2);//二进制 -> 10进制
let c = 226;
parseInt(c, 8);//8进制 -> 10进制

字符串和二进制流的相互转换

将二进制字符串转换成Unicode字符串

1
2
3
4
5
6
7
8
9
10
11
function binaryToStr(str){
let result = [];
let list = str.split(" ");
for (let i=0;i<list.length;i++){
let item = list[i];
let asciiCode = parseInt(item,2);
let charValue = String.fromCharCode(asciiCode);
result.push(charValue);
}
return result.join("");
}

将字符串转换为二进制,中间用空格隔开

1
2
3
4
5
6
7
8
9
10
11
12
13
function strToBinary(str){
let result = [];
let list = str.split("");
for(let i=0;i<list.length;i++){
if(i != 0){
result.push(" ");
}
let item = list[i];
let binaryStr = item.charCodeAt().toString(2);
result.push(binaryStr);
}
return result.join("");
}
1
2
strToBinary("我喜欢你")
"110001000010001 101010110011100 110101100100010 100111101100000"

二进制转换为十六进制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
编码
let code = strToBinary("我喜欢你").split(" ").map(item => {
return parseInt(item, 2).toString(16);
}).join(" ");
"6211 559c 6b22 4f60"
解码
let char = code.split(" ").map(item => {
return parseInt(item, 16).toString(2);
}).join(" ")
binaryToStr(char);
//"我喜欢你"

"s".charCodeAt();
"u".charCodeAt();
"y".charCodeAt();
1
$ 6211 559c 6b22 4f60-115-106-121
-------------要说再见啦感谢大佬的光临~-------------