이 질문은 외부 프로그램이나 입력 스트림에서 캡처한 데이터를 처리할 때 발생합니다. 인쇄 또는 추가 처리를 위해 이러한 데이터를 일반 Python 문자열로 인코딩하려고 합니다.
다음 바이트 객체를 고려하세요.
>>> from subprocess import * >>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0] >>> stdout b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
인쇄 목적으로 문자열로 변환하려면 바이트를 디코딩합니다. 적절한 인코딩 사용:
>>> stdout.decode("utf-8") '-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
UTF-8이 일반적인 인코딩이지만 실제 데이터와 일치하는 인코딩을 사용하는 것이 중요합니다. 그렇지 않으면 왜곡되거나 잘못된 출력이 발생할 수 있습니다.
위 내용은 Python 3에서 바이트를 문자열로 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!