Unix command인 echo를 -e option과 함께쓰면 ‘\x’로 escape된 hex값을 문자로 보여 준다.
$ echo -e "\x5B\xEB\xAC\xBC\xEB\x86\x80\xEC\x9D\xB4\x20\xEA\xB7\xB8\xEB\xA6\xBC\xED\x8C\x90\x5D" [물놀이 그림판]
Web browser등에서는 ‘\x’가 아닌 ‘%’를 escape character로 사용하기도 하는데 이런경우는 bash의 string 치환을 사용해서 ‘\x’로 변환해서 사용할 수 있다.
$ str='\x5B\xEB\xAC\xBC\xEB\x86\x80\xEC\x9D\xB4\x20\xEA\xB7\xB8\xEB\xA6\xBC\xED\x8C\x90\x5D' $ echo -e ${str//%/\\x} [물놀이 그림판]
* Bash에서 string을 다루는 방법에 대해서는 KLDP의 이 문서를 참고.
반대는 변환은 xxd혹은 hexdump를 사용할 수 있습니다.
$ str=”[물놀이 그림판]”
$ printf ‘%s’ $str | xxd -g 1
00000000: 5b eb ac bc eb 86 80 ec 9d b4 ea b7 b8 eb a6 bc [……………
00000010: ed 8c 90 5d …]