如何在Javascript中读取无符号int?

如何在Javascript中读取无符号int?,javascript,ajax,Javascript,Ajax,我正在从服务器写入一个二进制字符串,如下所示: header('Content-type: application/octet-stream'); echo $data = pack('C*', 0, 10, 100, 127, 128, 200, 250, 255, 256); 用js和jDataView lib阅读: $.get('/get', function(text) { var view = new jDataView(text); for (var i = 0;

我正在从服务器写入一个二进制字符串,如下所示:

header('Content-type: application/octet-stream');
echo $data = pack('C*', 0, 10, 100, 127, 128, 200, 250, 255, 256);
用js和jDataView lib阅读:

$.get('/get', function(text) {
    var view = new jDataView(text);

    for (var i = 0; i < 20; i++) {
        console.log(i, view.getUint8(i));
    }
});
$.get('/get',函数(文本){
var视图=新的jDataView(文本);
对于(变量i=0;i<20;i++){
console.log(i,view.getUint8(i));
}
});
问题是我只能读取小于128的值。jDataView使用at读取
Uint
,并为每个较大的值返回65533


如何获取js中的值?

当您使用以下命令更改(由PHP文件发送的)标题时,它可以正常工作

header('Content-Type:text/plain;charset=x-user-defined')

如果没有这个标题(以及如何处理XHR响应的调整;详细描述了该过程),则是
文本
值变得混乱:所有的“无效”(>127)字符将被
'\uFFFD'
字符替换


当然,从这些字符中提取原始值是不可能的,所以在我看来,这不是jDataView的错误。

你的意思是
.charCodeAt()
,对吗?@ŠimeVidas是的,但我想问题不在于此。@raina77哦,是的,我理解。但是,在评论中,我们可以讨论与主题不直接相关的问题。