문자열을 바이트 문자열로 변환하고 싶습니다. 문자열은 정확히 이 형식으로 제공됩니다. 'сp1251' 인코딩. 제대로 하는 방법?
str = 'см³'
bytes(str, 'cp1251')
결과적으로 나는
UnicodeEncodeError: 'charmap' 코덱은 위치 2의 '\xb3' 문자를 인코딩할 수 없습니다. 문자는 < undefined >에 매핑됩니다.
문자열 s
을 텍스트 모드로 작성할 수 있습니다 . 유니코드 문자열 처리는 Python3에서 이미 표준화되었으며 자동으로 수행됩니다(32비트 유니코드에서 utf-8로의 변환은 메모리(변수 s
)에서 파일로 자동으로 수행 됩니다.
s = 'см³'
# with text-mode:
with open('file.txt', 'w') as f_out:
f_out.write(s)
print(open('file.txt', 'r').read())
인쇄물:
см³
특정하게 하려면 바이너리 모드 b
플래그를 사용하여 파일을 읽고 쓸 수 있습니다 .
# with binary-mode:
with open('file.txt', 'wb') as f_out:
f_out.write(s.encode('utf-8'))
print(open('file.txt', 'rb').read().decode('utf-8'))
인쇄물:
см³
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다