[Tip] Hex string을 bash에서 보기

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의 이 문서를 참고.

One thought on “[Tip] Hex string을 bash에서 보기

  1. lticdoer

    반대는 변환은 xxd혹은 hexdump를 사용할 수 있습니다.
    $ str=”[물놀이 그림판]”
    $ print ‘%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 …]

    응답

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다