2011-01-28 4 views
3

Node.js 응용 프로그램에서 일부 이진 데이터를 생성 한 다음 클라이언트가 다운로드 할 수 있도록 HTTP 응답에 기록하고 싶습니다. 동일한 응용 프로그램의 현재 구현은 Python이며 struct module을 사용하여이 작업을 수행합니다. 예 :Node.js에서 스트리밍 할 이진 데이터 생성 및 작성

import struct 
# ... 
s = 'Filename header' 
s_binary = struct.pack('15s',s) 
# ... 

또한 Node.js에서 숫자를 2 진수로 변환하려면 어떻게합니까? 파이썬에서하는 방법은 다음과 같습니다.

# To convert a float into four byte binary representation in Python. 
import struct 
num_binary = struct.pack('f',23.33) 

Node.js에서 어떻게 동일한 작업을 수행합니까?

이것은 지금까지 내가 가진 최고의 솔루션입니다. Python의 struct 라이브러리를 Node.js에 바로 연결합니다 - jspack.

답변

1

Bison에서 볼 수 있습니다. JSON과 비슷하지만 바이너리 데이터를 생성합니다.

+0

들소 (Bison)의 문제점은 무엇입니까? – Raynos

1
var s="Filename header"; 
var s_binary=new Buffer(15); 
for(var i=0;i<s_binary.length;i++) { 
    s_binary[i]=0; 
} 
s_binary.write(s); 
// Now you can write s_binary to a stream. 
+0

괜찮 았을 수 있습니다. 숫자를 바이너리로 변환하는 방법을 알고 있습니까? 질문을 파이썬의 예제로 업데이트하자. – Jayesh

+0

좋은 해결책. 버퍼를 텍스트로 즉시 채우려는 경우에는 null을 채울 필요가 없습니다. – JasonWoof

+0

스트림에 버퍼를 쓸 수 있습니다. 예를 들어 http 예제에서 res.end (myBuffer)를 사용할 수 있습니다. 버퍼의 처음 8 바이트 만 보내려면 res.end (myBuffer.slice (0, 8)); – JasonWoof