- 빅 엔디안: 상위 바이트의 값을 작은 번지수(왼쪽 비트)부터 저장
- 리틀 엔디안: 상위 바이트의 값을 큰 번지수(오른쪽 비트)부터 저장
빅 엔디안을 사용하는 시스템과 리틀 엔디안을 사용하는 시스템이 데이터를 주고 받으려 한다면, 데이터의 해석 순서가 서로 맞지 않아 문제가 발생하지 않겠는가? 어떻게 해야 빅 엔디안을 사용하는 시스템과 리틀 엔디안을 사용하는 시스템이 통신을 오류 없이 할 수 있을까?
답은 간단하다. 네트워크 통신에는 빅 엔디안만 사용하기로 약속을 하면 된다!
unsigned short htons(unsigned short);
// 호스트 바이트 순서에서 네트워크 바이트 순서로!
unsigned short ntohs(unsigned short);
// 네트워크 바이트 순서에서 호스트 바이트 순서로!
unsigned long htonl(unsigned long);
// 호스트 바이트 순서에서 네트워크 바이트 순서로!
unsigned long ntohl(unsigned long);
// 네트워크 바이트 순서에서 호스트 바이트 순서로!