Python 및 외국어와 관련된 인코딩 문제

kdwftw

여기에 텍스트 인코딩 및 디코딩과 관련된 문제가 있습니다.

파일에서 '문자열'또는 '바이트'를 찾고 파일 경로를 반환하는 코드를 작성하려고합니다.

현재 내가 여는 파일은 'windows-1252'또는 'cp-1252'의 인코딩이 있으므로 다음을 시도해 왔습니다. 1. 내 문자열을 파일의 인코딩에 해당하는 바이트로 인코딩 2. 파일과 일치 해당 파일의 경로를 가져옵니다.

'windows-1252'또는 'cp-1252'인코딩이있는 'f'와 같은 파일이 있습니다. 중국어로 된 텍스트가 포함됩니다.'[跑Online農場]'

with open(os.path.join(root, filename), mode='rb') as f:
    text = f.read()
    print(encoding(text)) # encoding() is a separate function that I wrote that returns the encoding of the file
    print(text)
Windows-1252
b'\x00StaticText\x00\x00\x12\x00[\xb6]Online\xb9A\xb3\xf5]\x00\x01\x00\x ...

보시다시피 '이진'텍스트 [跑Online農場]는 다음과 같습니다.[\xb6]Online\xb9A\xb3\xf5]

그러나 재미있는 점은 문자열을 문자 그대로 바이트로 변환하면 다음과 같은 결과를 얻을 수 있다는 것입니다.

enter_text = '[跑Online農場]'
print(bytes(enter_text, 'cp1252'))
UnicodeEncodeError: 'charmap' codec can't encode character '\u8dd1' in position 1: character maps to <undefined>

반면에

with open(os.path.join(root, filename), mode='r', encoding='cp-1252') as f ...

나는 얻다:

StaticText   [¶]Online¹A³õ]   €?‹  Œ  î...

이는 내가 '번역'얼마나 확실하지 오전 '[跑Online農場]''[¶]Online¹A³õ]'. 이에 대한 답변으로 문제가 해결 될 수도 있습니다.

파이썬이 반환하는 'rb'바이트와 일치하도록 중국어 / 외국 문자를 올바르게 '인코딩'하려면 어떻게해야합니까?

감사합니다!

렌츠

귀하의 encodingCP1252 확실히 파일의 코덱이 아마 CP950,하지만 : 기능은 잘못된 것입니다.

참고 : 주어진 바이트 문자열의 인코딩을 추측하는 것은 항상 근사치입니다. 확실히 인코딩을 결정하는 안전한 방법은 없습니다.

다음과 같은 바이트 문자열이있는 경우

b'[\xb6]Online\xb9A\xb3\xf5]'

그리고 당신은 그것을 번역해야한다는 것을 알고 있습니다.

'[跑Online農場]'

그런 다음 몇 가지 코덱으로 시행 착오를 할 수 있습니다.

파이썬 에서 지원하는 코덱 목록을 사용하여 중국어 코덱을 검색했습니다.

CP-1252 (Latin-1의 Windows 버전)를 사용하면 모지 베이크를 얻을 수 있습니다.

>>> b'[\xb6]Online\xb9A\xb3\xf5]'.decode('cp1252')
'[¶]Online¹A³õ]'

CP-950 (중국어 번체 용 Windows 코드 페이지)을 사용할 때 예상되는 출력이 표시됩니다.

>>> b'[\xb6]Online\xb9A\xb3\xf5]'.decode('cp950')
'[跑Online農場]'

따라서 파일을 읽으려면 CP-950을 사용하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

액션 및 에코 결과와 관련된 PHP 양식 문제

분류에서Dev

중괄호 ( "{"및 "}")와 관련된 Python 문자열 형식화 문제

분류에서Dev

Github에서 마크 다운 파일 읽기와 관련된 인코딩 문제

분류에서Dev

클래스와 관련된 Python 문제

분류에서Dev

인코딩과 관련된 Azure CLI 나머지 문제 (독일어 Umlauts)

분류에서Dev

판매 및 트렌드와 관련된 앱 스토어 문제

분류에서Dev

국제 문자 인코딩 및 디코딩

분류에서Dev

for 루프와 관련된 Python에서 MATLAB 코드를 재현하는 문제

분류에서Dev

조인 및 집계와 관련된 SQL 질문

분류에서Dev

다국어 문자열 인코딩 및 디코딩 C #

분류에서Dev

포인터와 관련된이 코드의 문제점

분류에서Dev

Android 앱의 12501 코드와 관련된 Google 로그인 문제

분류에서Dev

Python에서 정규식 및 명명 된 참조 관련 문제

분류에서Dev

포인터 및 수동으로 구현 된 행렬 클래스와 관련된 문제

분류에서Dev

상속 유형 및 멤버 오버로드와 관련된 Python 유형 주석 문제

분류에서Dev

풀 및 푸시와 관련된 Git 문제

분류에서Dev

부모 및 자식 요소와 관련된 문제

분류에서Dev

여백 및 layout_gravity와 관련된 Android TableLayout 문제

분류에서Dev

라우팅 및 구성 푸시와 관련된 Openvpn 문제

분류에서Dev

'경로 내보내기'와 관련된 pyenv 및 anaconda 문제

분류에서Dev

Where 및 Contains와 관련된 LINQ to Entities 성능 문제

분류에서Dev

19.10 : crypttab 및 업데이트와 관련된 스왑 문제

분류에서Dev

if 문 및 randint 관련 Python 문제

분류에서Dev

if 문 및 randint 관련 Python 문제

분류에서Dev

URL 연결과 관련된 URL 인코딩 문제

분류에서Dev

분음 부호 인코딩과 관련된 이상한 문제

분류에서Dev

분음 부호 인코딩과 관련된 이상한 문제

분류에서Dev

glDrawRangeElements와 관련된 문제

분류에서Dev

'% C5 % 9'및 이와 유사한 Python 문자 인코딩

Related 관련 기사

  1. 1

    액션 및 에코 결과와 관련된 PHP 양식 문제

  2. 2

    중괄호 ( "{"및 "}")와 관련된 Python 문자열 형식화 문제

  3. 3

    Github에서 마크 다운 파일 읽기와 관련된 인코딩 문제

  4. 4

    클래스와 관련된 Python 문제

  5. 5

    인코딩과 관련된 Azure CLI 나머지 문제 (독일어 Umlauts)

  6. 6

    판매 및 트렌드와 관련된 앱 스토어 문제

  7. 7

    국제 문자 인코딩 및 디코딩

  8. 8

    for 루프와 관련된 Python에서 MATLAB 코드를 재현하는 문제

  9. 9

    조인 및 집계와 관련된 SQL 질문

  10. 10

    다국어 문자열 인코딩 및 디코딩 C #

  11. 11

    포인터와 관련된이 코드의 문제점

  12. 12

    Android 앱의 12501 코드와 관련된 Google 로그인 문제

  13. 13

    Python에서 정규식 및 명명 된 참조 관련 문제

  14. 14

    포인터 및 수동으로 구현 된 행렬 클래스와 관련된 문제

  15. 15

    상속 유형 및 멤버 오버로드와 관련된 Python 유형 주석 문제

  16. 16

    풀 및 푸시와 관련된 Git 문제

  17. 17

    부모 및 자식 요소와 관련된 문제

  18. 18

    여백 및 layout_gravity와 관련된 Android TableLayout 문제

  19. 19

    라우팅 및 구성 푸시와 관련된 Openvpn 문제

  20. 20

    '경로 내보내기'와 관련된 pyenv 및 anaconda 문제

  21. 21

    Where 및 Contains와 관련된 LINQ to Entities 성능 문제

  22. 22

    19.10 : crypttab 및 업데이트와 관련된 스왑 문제

  23. 23

    if 문 및 randint 관련 Python 문제

  24. 24

    if 문 및 randint 관련 Python 문제

  25. 25

    URL 연결과 관련된 URL 인코딩 문제

  26. 26

    분음 부호 인코딩과 관련된 이상한 문제

  27. 27

    분음 부호 인코딩과 관련된 이상한 문제

  28. 28

    glDrawRangeElements와 관련된 문제

  29. 29

    '% C5 % 9'및 이와 유사한 Python 문자 인코딩

뜨겁다태그

보관