UCS-2 스트링 출력 방법을 알고 싶습니다.

letsme의 이미지

리눅스에서 넷바이오스 패킷을 캡쳐하여 헤더에서 파일 이름을 추출하여
화면에 출력하는 프로그램을 작성중입니다.
헤더에서 추출한 파일이름에 해당하는 데이터를 살펴보니
UCS-2 로 인코딩되어 있는 걸로 추측이 됩니다.
그런데 이 파일 이름을 출력하는 방법을 모르겠습니다.
리눅스에서 UCS-2 스트링을 출력하는 방법이 무엇인가요?

혹시 넷바이오스 헤더의 파일 이름의 인코딩이 UCS-2가 아니라면
정확한 인코딩은 무엇인지도 알고 싶습니다.

bushi의 이미지

man iconv
man 3 iconv

둘 다 신중하게 보세요.

으음... 직접 해보지 않았으니 뭐라 딱히 말씀드릴 것은 없고,

[bushi@rose srpm]$ iconv --list|grep UCS
10646-1:1993/UCS4/
CSUCS4//
ISO-10646/UCS2/
ISO-10646/UCS4/
UCS-2//
UCS-2BE//
UCS-2LE//
UCS-4//
UCS-4BE//
UCS-4LE//
UCS2//
UCS4//
[bushi@rose srpm]$
[bushi@rose srpm]$ strings /usr/bin/smbclient | grep UCS
UCS-2LE
failed to create UCS2 buffer
UCS-2BE
UCS2-HEX
[bushi@rose srpm]$