python 에서 문자열 의 인 코딩 과 디 코딩 에 대한 상세 한 분석
2.보충:컴퓨터 가 표시 하 는 단위:
bit:비트,컴퓨터 최소 표시 단위
bytes:바이트,최소 저장 단위,1bytes=8bit,1bytes 는 1B 로 간략하게 씁 니 다.
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
......
3.ASCII 인 코딩
ASCII 인 코딩 은 라틴 자 모 를 바탕 으로 하 는 인 코딩 으로 주로 현대 영어 와 서유럽 언어 를 나타 내 고 최초 로 통용 되 는 단일 바이트 인 코딩 시스템 이다.구체 적 인 ASCII 대조 표 는 다음 과 같다.
대조 표 에서 기억 해 야 할 것 은 대문자 A 의 인 코딩 은 65 이 고 소문 자 a 의 인 코딩 은 97 이면 된다.
python 에서 chr 와 ord 방법 으로 변환 할 수 있 습 니 다:
# ASCII
print(chr(97)) # a
#
print(ord("A")) # 65
#
그러나 이벤트 가 발전 함 에 따라 ASCII 인 코딩 은 256 글자 로 확장 되 었 고 인 코딩 대조 표 는 다음 과 같다.그 중 128 자 를 확장 ASCII 코드 라 고 합 니 다.
2.GBK 와 GB 2312 인 코딩
ASCII 인 코딩 은 256 글자 로 만 이 루어 질 수 있 기 때문에 1 바이트 로 만 중국 어 를 표시 하 는 것 은 불가능 하기 때문에 GB 2312 인 코딩 을 제정 하여 중국 어 를 나타 내 는 대조 표를 만 들 었 다.
4.Unicode
각 국가의 인 코딩 충돌 문 제 를 해결 하기 위해 유 니 코드 인 코딩 은 이 로 인해 발생 한다.유 니 코드 는 모든 언어 를 하나의 인 코딩 으로 통일 하면 충돌 을 피하 고 난 장 판 을 일 으 킬 수 있다.
유 니 코드 b 기준 이 계속 발전 하고 있 습 니 다.가장 많이 사용 되 는 것 은 두 개의 바이트 로 한 문 자 를 표시 하 는 것 입 니 다.어떤 문 자 는 4 개의 바이트 이지 만 중국 어 는 두 개의 바이트 를 차지 합 니 다.유 니 코드 인 코딩 으로 통일 되면 저장 과 전송 에 있어 서 수지 가 맞지 않 습 니 다.
5.UTF-8 인 코딩
유 니 코드 인 코딩 이 너무 큰 문 제 를 해결 하기 위해 가 변 길이 인 코딩 UTF-8 을 내 놓 았 고,UTF-8 인 코딩 은 유 니 코드 문 자 를 데이터 크기 에 따라 1~6 개의 바이트 로 프로 그래 밍 하 였 으 며,그 중 중국어 가 3 개의 바이트 를 차지 하 였 다.
6.인 코딩 과 디 코딩
1.인 코딩 작업
encode 를 통 해 인 코딩 할 수 있 습 니 다.그 중에서 문법 은 다음 과 같 습 니 다.
문자열 을 ASCII 인 코딩 합 니 다.(숫자,영문 자모,일부 기호 만 변환 할 수 있 습 니 다.)
# 1: bytes
bytes('a', 'ASCII')
# 2: encode
'a'.encode('ASCII')
문자열 을 gbk 인 코딩 형식 으로 변환 합 니 다.
# 1: encode
print(' '.encode('GBK')) # :b'\xc4\xe3\xba\xc3'
# 2: bytes
print(bytes(' ', 'GBK')) # :b'\xce\xd2\xb0\xae\xc4\xe3'
문자열 을 유 니 코드 인 코딩 형식 으로 변환
# 1: encode
print(' '.encode('unicode_escape')) # :b'\\u4f60\\u597d'
# 2: bytes
print(bytes(' ', 'unicode_escape')) # :b'\\u6211\\u7231\\u4f60'
문자열 을 UTF-8 인 코딩 형식 으로 변환
# 1: encode
print(' '.encode('utf-8')) # :b'\xe4\xbd\xa0\xe5\xa5\xbd'
# 2: bytes
print(bytes(' ', 'utf-8')) # :b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
2.디 코딩 작업GBK 인 코딩 형식 을 문자열 로 변환
# decode
print(b'\xc4\xe3\xba\xc3\xce\xd2\xb0\xae\xc4\xe3'.decode('GBK')) # :
UTF-8 인 코딩 형식 을 문자열 로 변환
# decode
print(b'\xe4\xbd\xa0\xe5\xa5\xbd\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.decode('utf-8')) # :
Uniconde 인 코딩 형식 을 문자열 로 변환 합 니 다.
# decode
print(b'\\u4f60\\u597d\\u6211\\u7231\\u4f60'.decode('GBK')) # :
python 에 있 는 문자열 의 인 코딩 과 디 코딩 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 python 문자열 의 인 코딩 과 디 코딩 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
비슷한 이름의 Attribute를 많이 만들어 삭제하는 Houdini사용 소프트웨어는 Houdini16.5입니다 배열에서는 애트리뷰트의 보간이 잘 동작하지 않는 것과 AttributeCreateSOP 노드에서 Size가 4를 넘는 애트리뷰트를 작성해도 값이 조작할 수 없어 의미가 없...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.