>백엔드 개발 >파이썬 튜토리얼 >Python에서 텍스트 파일에 쓸 때 유니코드 문자가 올바르게 표시되도록 하려면 어떻게 해야 합니까?

Python에서 텍스트 파일에 쓸 때 유니코드 문자가 올바르게 표시되도록 하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-01 12:57:29896검색

How Can I Ensure Correct Display of Unicode Characters When Writing to a Text File in Python?

텍스트 파일 작성 시 유니코드 문자 처리

텍스트 파일에 ASCII가 아닌 문자를 쓰려면 문자 인코딩을 신중하게 고려해야 합니다. 질문은 데이터 처리에서 유니코드의 사용을 탐구하고 파일에 쓰는 동안 인코딩 오류가 발생하는 것을 탐구합니다.

부분 솔루션은 문제가 있는 코덱을 기본적으로 바이너리 모드에서 파일을 여는 Python의 open 함수로 대체합니다. 이렇게 하면 디코딩 오류가 해결되지만 또 다른 문제가 발생합니다. 문자가 텍스트 파일에 올바르게 표시되지 않습니다.

이 문제를 해결하려면 프로세스 전체에서 유니코드만 처리하는 것이 중요합니다. 검색 시 데이터를 유니코드 객체로 변환하고 필요한 경우에만 인코딩하면 적절한 문자 표현이 보장됩니다.

다음 수정된 Python 코드는 이러한 접근 방식을 예시합니다.

<code class="python">import unicodedata

row = [unicodedata.normalize('NFC', x.strip()) if x is not None else u'' for x in row]
all_html = row[0] + "<br/>" + row[1]
with open('out.txt', 'wb') as f:
    f.write(all_html.encode("utf-8"))</code>

유니코드를 NFD 형식으로 정규화하여, 텍스트는 플랫폼 전반에서 일관되게 NFC로 표시되어 텍스트 편집기에서 올바르게 표시될 수 있습니다.

위 내용은 Python에서 텍스트 파일에 쓸 때 유니코드 문자가 올바르게 표시되도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.