前言
在學(xué)習(xí)Redis Bitmap數(shù)據(jù)結(jié)構(gòu)時(shí),很好奇 String 是如何抓換成二進(jìn)制。
于是,研究了一下 在JavaScript 中,將字符串轉(zhuǎn)為二進(jìn)制的方式。
實(shí)現(xiàn)思路
- 將字符串轉(zhuǎn)換成 ASCII 碼
- 將 ASCII 碼轉(zhuǎn)換成,二進(jìn)制
轉(zhuǎn)換路徑:字符串 -> ASCII(10進(jìn)制) -> 二進(jìn)制
代碼實(shí)現(xiàn)
'a'.charCodeAt(0).toString(2)
數(shù)值進(jìn)制轉(zhuǎn)換
十進(jìn)制轉(zhuǎn)其他進(jìn)制
const x = 97;
console.log(x.toString(8)); // 十進(jìn)制轉(zhuǎn)八進(jìn)制 "141"
console.log(x.toString(16)) // 十進(jìn)制轉(zhuǎn)十六進(jìn)制 "61"
console.log(x.toString(32)); // 十進(jìn)制轉(zhuǎn)三十二進(jìn)制 "31"
其他進(jìn)制轉(zhuǎn)十進(jìn)制
// 其他進(jìn)制轉(zhuǎn)十進(jìn)制
const x = '110';
console.log(parseInt(x, 2)); // 2進(jìn)制轉(zhuǎn)十進(jìn)制 6
console.log(parseInt(x, 8)); // 8進(jìn)制轉(zhuǎn)十進(jìn)制 72
console.log(parseInt(x, 32)) // 32進(jìn)制轉(zhuǎn)十進(jìn)制 1056