Python2에서는 문자열이 국제 문자 집합과 유니코드 인코딩을 완전히 지원할 수 없습니다. 이 제한을 해결하기 위해 Python 2는 유니코드 데이터에 대해 별도의 문자열 유형을 사용합니다. 유니코드 문자열 리터럴을 입력하려면 첫 번째 따옴표 앞에 'u'를 추가하세요. Python 2의 일반 문자열은 실제로 인코딩된(유니코드가 아닌) 바이트 문자열입니다. Python3에서는 이 접두사 문자를 추가할 필요가 없습니다. 그렇지 않으면 모든 문자열이 기본적으로 이미 유니코드로 인코딩되어 있기 때문에 구문 오류가 발생합니다.
하지만 python3에는 문자열이 하나 더 있습니다(권장 학습: Python 비디오 튜토리얼)# 🎜 🎜#
type(b'132') => byte型
python3의 디코드는 바이트 유형을 str 유형으로 변환하는 것입니다
src = ‘你好世界’
src = src.encode('utf-8')
이때 src는 이미 바이트 유형입니다. 다시 str로 변환하고 직접 사용하세요:
src = src .decode()
또한 python3의 open 함수는 인코딩 매개변수를 추가하고 기본값은 utf-8입니다. 즉, 열린 파일을 읽거나 쓸 때입니다. 핸들에 따라 유니코드 형식이 포함된 str 문자만 수신됩니다.
이때 바이너리 파일을 전달하면 오류가 보고됩니다. 예:
with open('a.bin', 'w') as f: f.write('xxx')
바이너리 파일을 읽고 쓰려면 다음을 수행해야 합니다. 열기 방법을 'wb' 또는 'rb'로 지정하세요
또한 웹페이지를 크롤링할 때 웹페이지가 제대로 표시되지 않는 경우 콘텐츠를 트랜스코딩해야 합니다.
더 많은 Python 관련 기술 기사를 보려면
Python Tutorial위 내용은 python2와 python3 문자열의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!