Iconv는 엔디안을 어떻게 처리합니까?

Iconv는 엔디안을 어떻게 처리합니까?
echo hello | iconv -f ascii -t utf-16le | od -x

내가 보기에는 빅엔디안 결과처럼 보이는 결과가 생성됩니다.

0068    0065    006c    006c    006f    000a

leutf16le 시스템(OS X)에서는 생산물이 없는 동일한 라인

echo hello | iconv -f ascii -t utf-16 | od -x

fffe    6800    6500    6c00    6c00    6f00    0a00

od -x엔디안이 변경 됩니까 ?

답변1

$ echo hello | iconv -f ascii -t utf-16le | hexdump -C
00000000  68 00 65 00 6c 00 6c 00  6f 00 0a 00              |h.e.l.l.o...|
$ echo hello | iconv -f ascii -t utf-16le | od -t x1
0000000 68 00 65 00 6c 00 6c 00 6f 00 0a 00

문제는 'od'가 엔디안을 어떻게 처리하는지입니다. 표시해 달라고 요청하면단일 바이트보다 큰 단위( -x16비트 단어 표시) 실행 중인 시스템의 기본 값이 기본값이 됩니다.

macOS는 아마도 리틀 엔디안인 Intel x86_64 CPU에서 실행 중일 것입니다. 즉, 바이트가 'od'로 디코딩될 때 {0x68, 0x00}실제로 16비트 숫자를 나타냅니다 .0x0068

관련 정보