바이트 청크를 읽고 번호로 변환해야 할 경우 node.js는 buffer.readInt32BE()
및 buffer.readInt32LE()
과 같은 기능을 갖습니다.node.js에서 endianness를 테스트하는 방법
파일의 처음 4 바이트가 정수인 경우에만 시스템의 엔디안을 모르는 경우 어떤 기능을 사용해야합니까? 빅 엔디안 또는 리틀 엔디안?
if (htonl(47) == 47) {
// Big endian
} else {
// Little endian.
}
우리는 어떻게 제대로 readInt32BE 및 readInt32Le를 사용하는 Node.js를에서 엔디안을 테스트 할 수 있습니다
우리가하고 엔디안을 테스트 할 수 있습니다 C에서, 빠른 인터넷 검색 (stackoverflow)을 수행?
무엇으로 당신이에서 읽고있는 파일이 동일한 컴퓨터에 의해 작성되었습니다 있다는 가정을하고있다? 파일을 작성한 컴퓨터의 엔디안 니스에 대해 걱정하지 않아도 되나요? 파일을 읽어야 할 필요가 있고 엔디안에 대해 걱정할 필요가 있고 파일에 메타 데이터가 포함되어 있지 않으면 파일 형식이 잘못되었습니다. – Romain
@Romain - 유닉스 - dgram 또는 유닉스 도메인 소켓에서 IPC 메시지를 듣고 있다면 어떻게 될까? 필자는 엔디안이 동일하다고 예상 할 수도 있습니다 (필자의 엔디 언이 명시 적으로 문서화되지 않았다면). – jimbobmcgee
@jimbobmcgee 소켓이고 프로토콜이 엄격한 경우 (예 : 엔디안을 지정하는 경우) 엔디안을 알며 어떤 종류의 BOM이있는 파일 형식을 사용하는 것과 같은 상황에 있습니다. 그렇지 않다면 특정 방법으로 소스를 방출하는 것에 의존하는 것은 잘못된 결정입니다. 소스의 코드도 소유하고 있지 않은 경우 (다시 확인하면 걱정할 필요가 없습니다) – Romain