Python - 문자열 16진수 변환

10진수를 16진수의 문자열로 변환하는 방법을 소개합니다.

1. hex()를 이용한 방법

hex(integer)는 integer의 16진수를 문자열로 리턴합니다.

int = 255

hex = hex(int)
print(hex)
print(type(hex))

Output:

0xff
<class 'str'>

문자열 앞의 0x를 제거하고 숫자만 남기고 싶다면 아래와 같이 lstrip()을 이용할 수 있습니다.

int = 255

hex = hex(int)
hex = hex.lstrip("0x")
print(hex)

Output:

ff

2. format()을 이용한 방법

format(intger, format_spec)으로 10진수를 16진수 문자열로 변환할 수 있습니다.

format_spec은 아래 4가지가 될 수 있으며, 형식에 따라서 prefix 0x의 차이가 있고, 대소문자의 차이가 있습니다.

  • #x : 0xff
  • #X : 0XFF
  • x : ff
  • X : 0xFF
int = 255

hex = format(int, '#x')
print(hex)

hex = format(int, '#X')
print(hex)

hex = format(int, 'x')
print(hex)

hex = format(int, 'X')
print(hex)

Output:

0xff
0XFF
ff
FF

3. f-string을 이용한 방법

format()과 동일하게 f-string을 이용하여 동일하게 문자열로 변환할 수 있습니다.

int = 255

hex = f'{int:#x}'
print(hex)

hex = f'{int:#X}'
print(hex)

hex = f'{int:x}'
print(hex)

hex = f'{int:X}'
print(hex)

Output:

0xff
0XFF
ff
FF
Loading script...
codechachaCopyright ©2019 codechacha