반응형
질문
16진수 문자열을 정수로 변환하는 방법은 무엇인가요?
"0xffff" ⟶ 65535
"ffff" ⟶ 65535
답변
0x 접두사 없이는 기본을 명시해야 합니다. 그렇지 않으면 구분할 수 있는 방법이 없습니다:
x = int("deadbeef", 16)
0x 접두사가 있으면 Python은 16진수와 10진수를 자동으로 구분할 수 있습니다:
>>> print(int("0xdeadbeef", 0))
3735928559
>>> print(int("10", 0))
10
(이 접두사 추측 동작을 호출하려면 반드시 기본값으로 0
을 지정해야 합니다. 두 번째 매개변수를 생략하면 int()
함수는 기본값으로 10진수를 가정합니다.)
반응형
댓글