CNode

自学编程: 实践 liveinjs-gbk 模块 ,学习了解 JavaScript位运算及应用 (一)

Hhackerjs发布于12 年前最后回复12 年前3 回复4833 浏览0 收藏

这个模块的功能: 解决 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)

H
hackerjs#1·12 年前

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

J
jiyinyiyong#2·12 年前
引用 hackerjs得抽时间 玩列markdown,不会。。

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

H
hackerjs#3·12 年前

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

参与回复
登录后即可参与回复。登录