dados nodejs / express e binários no POST

Estou tentando enviar dados binários para um aplicativo expresso. Funciona bem, desde que meus valores sejam menores que 0x80. Se um único valor for 0x80 ou maior, isso estraga todo o buffer.

Manipulador expresso:

binary = require('binary');

exports.api = function(req, res){
    var body = req.body.name;
    var buf = new Buffer(body,'binary');

    console.log('body',req.body);
    console.log('req body len', body.length);
    console.log('buf len', buf.length);

    var g = binary.parse(buf)
        .word16bu('a') // unsigned 16-bit big-endian value
        .word16bu('b').vars

    console.log('g.a', g.a);
    console.log('g.b', g.b);

  res.send("respond with a resource");
};

Cliente Python (Tipo de Conteúdo: application / x-www-form-urlencoded):

import requests
from struct import pack
# send two unsigned shorts (16-bits each).
requests.post('http://localhost:3000/api', data={'name':pack('!HH',1,2)})

Saída expressa quando dados = 1,2.Isso é o que eu esperaria.

body { name: '\u0000\u0001\u0000\u0002' }
req body len 4
buf len 4
g.a 1
g.b 2
POST /api 200 1ms - 23b

Saída expressa quando dados = 1,0xFF. É interessante notar que 9520 é 0x25 0x30 em hexadecimal, o que corresponde a "% 0" em ASCII. Sim, parece estar analisando a string '% 00% 01 ...'.Eu gostaria de saber como evitar isso !!!

body { name: '%00%01%00%FF' }
req body len 12
buf len 12
g.a 9520
g.b 12325
POST /api 200 2ms - 23b

questionAnswers(2)

yourAnswerToTheQuestion