Javascript解析二进制文件

时间:2015-04-10 08:59:25

标签: javascript php file binary

我试图将二进制文件从服务器(PHP)传输到客户端。然后我需要在javascript中解析二进制文件,以便我可以使用图表绘制值。

使用JParser库解析二进制文件I' m。当我尝试读取负int16值时结果是错误的。这里有一些代码:

AJAX POST

$.ajax({
    url: '/getComtrade.php',
    type: 'POST',
    data: { getDat: "filename.dat" },
    success: function(data){
        handleDatFile(data);
        console.log(parser.parse('header'));
    },
    error: function(jqXHR, textStatus, errorThrown){
        alert(jqXHR.responseText);
    }
);

JPARSER STRUCT

function handleDatFile(data){
    var view = new jDataView(data, undefined, undefined, true);

    parser = new jParser(view, {
        header: {
            ID: 'uint32',
            sample: 'uint32',
            analogs: ['array', 'int16', 8],
            digitals: ['array', 4, 29]
        }
    });
}

PHP代码

public static function getFileDat($fileName)
{
    $filepath = COMTRADE_DIR . "/" . $fileName;

    echo file_get_contents($filepath);
}

特别是十六进制值' F52E'在' -722'中解析。正确的价值是-2770'。

谢谢。

0 个答案:

没有答案