如何在Javascript中读取unsigned int

How to read unsigned int in Javascript?

本文关键字:读取 unsigned int Javascript      更新时间:2023-09-26

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

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));
    }
});

问题是我只能读取小于128的值。jDataView使用getCharCode at读取Uint,并为每个较大的值返回65533。

如何获取js中的值?

当您用。。。

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

如果没有这个标题(以及如何处理XHR响应的调整;本文详细描述了这个过程),text值就会变得一团糟:所有"无效"(>127)字符都将被''uFFFD'字符实际替换。

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