절대 경로를 사용하는 다른 파일을 참조하는 바이너리 파일로 작업하고 있습니다. 경로에 일본어와 ASCII 문자가 모두 들어 있습니다.파이썬 3.x에서 혼합 된 인코딩으로 문자열 작업하기
문자열의 길이가 주어 지므로 많은 바이트를 읽고 문자열로 변환 할 수 있습니다.
그러나 문제는 문자열을 변환하려고하는 것입니다. 인코딩을 ascii로 지정하면 일본어 문자가 실패합니다. japanese encoding (shift-jis 또는 뭔가)으로 지정하면 영어 문자를 제대로 읽을 수 없습니다.
각 ASCII 문자에는 1 바이트가 사용되고 각 일본어 문자에는 2 바이트가 사용됩니다.
이 바이트를 문자열로 변환하는 가장 빠르고 깨끗한 방법은 무엇입니까? 인코딩은 알려져 있습니다. 파이썬의 이전 버전에서도 같은 기술을 사용할 수 있습니까?
인코딩을 혼합하지 마십시오. utf-8을 모든 것에 사용하십시오. – geoffspear
내가 읽는 소스가 모든 것을 위해 utf-8을 사용하지 않는다면 그것은 작동하지 않을 것입니다. 다른 많은 파일들은 utf-8을 사용하지 않는 개발자 (중국어, 일본어 또는 한국어)가 있습니다. – MxyL
mybytestring.decode ('shift-jis')를 사용하면 작동하지 않습니까? 시프트 - jis는 실제로 표준이 아니더라도 \ 및 ~ 문자를 제외하고는 ascii와 이론적으로 호환됩니다. – gps