십진수를 다음 형식으로 16 진수로 변환하는 방법 (0x 접두어없이 두 자리 이상, 0으로 채워짐)?Python 16 진수
입력 : 255
출력 : ff
입력 : 2
출력 :
02
내가 hex(int)[2:]
을 시도했지만 첫 번째 예는 아니지만 두 번째를 표시 것으로 보인다.
십진수를 다음 형식으로 16 진수로 변환하는 방법 (0x 접두어없이 두 자리 이상, 0으로 채워짐)?Python 16 진수
입력 : 255
출력 : ff
입력 : 2
출력 :
02
내가 hex(int)[2:]
을 시도했지만 첫 번째 예는 아니지만 두 번째를 표시 것으로 보인다.
'02x'
형식의 format()
function을 사용하십시오.
>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'
02
부분 x
는 소문자 16 진수를 의미 format()
적어도 2 자리를 사용하고, 길이를 패드에 0을 사용하여 말한다.
Format Specification Mini Language 또한 대문자 헥스 출력 X
부여하며 (만약 x
또는 X
포맷터로서 사용 어떠했는지에 따라 다름) 0x
또는 0X
프리픽스를 포함 #
와 필드 폭 접두사있다.
>>> format(255, '02X')
'FF'
>>> format(255, '#04x')
'0xff'
>>> format(255, '#04X')
'0XFF'
감사! 좋은 설명. –
대문자 16 진수 출력을 사용하도록 형식을 설정하면 16 진수 접두사의 대문자 "X"에 문제가 있습니다. 귀하의 예에서는 그렇지 않습니다. 이 문제는 내 로컬 버전의 Python과 관련이 있습니까? 2.7.9 버전을 사용하고 있습니다. – jwp36
@ jwp36 : 아니요, 제 대답에 실수였습니다. 이제는 바로 잡았습니다. 내 사과. –
을 나는 이것이 당신이 원하는 생각 : 그냥 당신이 그 여분이 개 문자를 허용하는 필드 폭을 조정할 필요가 고려
>>> def twoDigitHex(number):
... return '%02x' % number
...
>>> twoDigitHex(2)
'02'
>>> twoDigitHex(255)
'ff'
첫 번째 대답은 최고입니다 만, 나는 고풍 대답하지만이 기능
>>> "".join(list(hex(255))[2:])
'ff'
다른 답변과 동일한 맥락에서 제로 패드가 아닙니다. 예를 들어'' ".join (list (hex (2)) [2 :])'는''02 ''가 아니라''2 ''로 평가됩니다. – therealrootuser
이것은 질문의'hex (int) [2 :]'와 동의어입니다. 왜 다시 가입하기 만하면 될까요? – wjandrea
더 나은 답변이 있다는 데 이미 동의하는 이유는 무엇입니까? – ryry1985
[당신이 시도 무엇?] (http://whathaveyoutried.com) 나는이 질문을 downvoted 이유 : http://meta.stackexchange.com/a/149138/133242 –
나는 hex (int) [2 :]하지만 첫 번째 예제를 표시하지만 두 번째 예제는 표시하지 않는 것 같습니다. –
나는 그것을 얻었다! 감사합니다 –