二进制数据处理和位与
Binary data handling and bitwise AND
我看到了这个代码示例,没有任何解释:
var xhr = new XMLHttpRequest();
xhr.open('GET', '/path/to/image.png', true);
// Trick to pass bytes through unprocessed.
xhr.overrideMimeType('text/plain; charset=x-user-defined');
xhr.onreadystatechange = function(e) {
if (this.readyState == 4 && this.status == 200) {
var binStr = this.responseText;
for (var i = 0, len = binStr.length; i < len; ++i) {
var c = binStr.charCodeAt(i);
//String.fromCharCode(c & 0xff)
var byte = c & 0xff; // byte at offset i
}
}
};
xhr.send();
我想知道var byte = c & 0xff; // byte at offset i
这行在做什么?为什么是AND
和0xFF
?
代码似乎在存储字节值。显然,开发人员认为c
可能包含超过8位(一个字节)的数据。通过AND
设置0xff,任何超过8位的数据都将被截断(或至少设置为零)。
相关文章:
- 如何将数据标签与数据一起传递,以便在高图中的工具提示中显示
- 科尔多瓦 PhoneGap Android 回调与数据
- 文件下载html与错误处理FileNotFound
- Highcharts,将错误栏与数据模块一起使用
- 如何在 Opera 中从 Javascript 访问 8 位二进制数据
- 提交表单更改与数据原生菜单=“false”
- D3 JS - 未捕获的类型错误:无法读取未定义的属性“长度” - 似乎与数据问题有关
- 为什么这不起作用 - 将 :not() 与事件处理程序一起使用
- 余烬与数据 - 路由模型无法一致地工作
- 将数组从文档属性与数据范围进行比较不起作用
- IE 标准与怪癖处理偏移左
- EmberJS 应用程序中列表 + 详细信息 + 编辑视图的数据处理
- 如何在D3地图中进行时间数据处理
- JavaScript函数数据处理
- 画布已被跨源数据处理所污染
- 从Phaser中的位图数据加载精灵表
- 为什么要用按钮呢?表单提交的数据块,当只有图标图像与onclick处理功能可能也工作
- JQuery事件处理与数据检索通过POST
- 二进制数据处理和位与
- 合并PDF与数据批处理