自学编程: 实践 liveinjs-gbk 模块 ,学习了解 JavaScript位运算及应用 (一)
发布于 6 年前 作者 hackerjs 2940 次浏览 最后一次编辑是 4 年前

这个模块的功能: 解决 Node.js GBK 乱码问题, 纯 JS 实现。

原码:

例如, 32位原码 a : 00000000 00000000 00000000 00000001 32 位原码 b: 10000000 00000000 00000000 00000001

真值:

以上两个 32 位原码真值分别为: +1 , -1

a 的反码: a 为正数,补码跟原码相同 b 的反码: 11111111 11111111 11111111 11111110 a 的补码: a 为正数补码与原码相同 b 的补码: 11111111 11111111 11111111 11111111

JavaScript 中的数字都是以 32 位长度存在计算机中的,存储的是数值所对应的补码。 JavaScript 的位运算都是基于数字的补码的。

数字之间,按位与,按位或,按位非,按位异或,都是 32 位补码之间的运算。

liveinjs-gbk 模块 中 编码的转换都是基于位运算的。 liveinjs-gbk 模块地址,有注释: https://www.npmjs.org/package/liveinjs-gbk

3 回复

得抽时间 玩列markdown,不会。。

帮楼主手动格式化来一遍, 累死我了… 语法参考这里: http://wowubuntu.com/markdown/

跟着我的注释,这个模块弄明白了,编码问题,javascript 位运算运用,基本没问题。

回到顶部