2017-10-24 4 views
0

알 수없는 이유로 나는 메타 데이터를 사용하기 위해 8 진수 형식으로 표시해야합니다. 나는 그것을 8 진수로 나타내는 법을 알아 내려하고있다. 예 :리터럴 파이썬 문자열을 8 진수로 인쇄하십시오.

x = "\n)\n\022foobar" 
print x 

) 
foobar 

print repr(x) 
'\n)\n\x12foobar' 

어떻게하면 x가 8 진수 인코딩 방식으로 인쇄 될 수 있습니까?

답변

1

수 없습니다. 그 표현은 상실된다. "\ 022"를 출력하려면 직접 처리하거나 "\\022"을 저장해야합니다.

+0

후속 조치 :'x'를 인쇄 할 때'x = 0o22'와'x = 34'의 차이점을 알 수없는 것과 같은 이유입니다; 둘 다 (컴파일 단계에서 작성된 바이트 코드 레벨에서) 동일한 명령문을 사용하면 리터럴의 대체 형식이 리터럴이 실제로 작성한 것을 전혀 모르는 단일 실제 값으로 압축됩니다. – ShadowRanger

+0

도움을 주셔서 감사합니다, 그리고,하지만 어떻게 얻을 수있는 '인코딩'내가 원하는 문자열을 인쇄하는 파이썬 얻을 수 없습니다. 결국 그들은 완전히 똑같은 바이트 값을 갖지만 간단히 다른 표현으로 나타납니다. 내가 원하는 표현으로 그것을 인쇄하기 위해 파이썬을 얻을 수 없습니까? –

+0

아니요,'str .__ repr __()'을 쓰지 않았기 때문입니다. –

관련 문제