1. 정수를 16진수 문자열(Hex)로 변환하기
Python 3는 정수를 16진수 문자열로 변환하는 hex() 라는 내장함수를 제공한다. hex() 함수는 정수를 입력받아 그 정수에 상응하는 16진수 문자열(hex string)을 리턴하는데, 문자열 앞에 자동으로 0x를 붙인다. 예를 들어, hex(123)은 '0x7b' 으로 변환된다.
i = 123 hexStr = hex(i) print(hexStr) # '0x7b'
2. 문자를 ASCII 16진수 문자열(Hex)로 변환하기
영문자에 대한 ASCII 코드는 ord() 함수를 사용하여 구할 수 있다. 예를 들어, 문자 'A'에 대한 ASCII 코드는 ord('A') 를 사용하여 65를 구할 수 있다. ASCII 코드에 대한 16진수 문자열(Hex String)을 구하기 위해서는 위에 말한 hex()를 사용하면 된다.
a = hex(ord('A')) print(a) # '0x41'
3. 16진수 문자열(Hex)을 정수로 변환하기
16진수 문자열을 정수로 변환하기 위해서는 int() 라는 내장함수를 사용할 수 있다. int() 함수의 첫번째 파라미터에는 16진수 문자열을 지정하고, 두번째 파라미터에는 이 문자열이 16진수(hexadecimal)로 되어 있음을 표시하는 16을 넣으면 된다.
hexStr = '0x7b' i = int(hexStr, 16) # 16진수로 해석 print(i) # 123 출력