Python 문자열 디코딩 방법

Python 문자열 디코딩 방법

2022-06-04 last update

6 minutes reading Python
Python 언어는 유니코드 형식으로 문자열을 저장하는 데 사용됩니다.유니코드에서 간단한 코드 점은 유니코드를 나타내는 단일 문자에 사용됩니다.우리는 인코딩과 디코딩 두 가지 용어를 알아야 한다.인코딩은 간단한 문자열을 바이트로 변환하고, 디코딩은 이 바이트를 실제 문자열로 다시 변환합니다.
따라서 오늘 본고에서, 우리는 encode () 와 decode () 함수를 사용하여 문자열을 원시 문자열로 디코딩할 것입니다.Linux 시스템에서 python3 패키지를 구성해야 합니다.Ctrl + Alt + T를 사용하여 터미널 콘솔을 시작하는 것부터 시작하겠습니다.

예제 1


Ubuntu 20.04 셸 단말기의python3 컨트롤러에서 첫 번째 예시를 시작합니다.따라서 다음 출력과 같이 키워드 Python3부터 시작합니다.
$ python3

컨트롤러는 이제 사용할 수 있습니다.따라서 우리는's'라는 문자열 변수를 초기화하고 값을 부여했습니다.그 값은 문자 형식으로 변환되고 문자열 형식 값인'hello'와 직렬로 연결된 정수의 혼합을 포함합니다.다음 줄에서 "enc"라는 다른 변수를 초기화합니다.
여기에 encode () 방법을 사용하여 원시 변수's'를 utf-8 인코딩하고 인코딩 문자열을 변수'enc'로 저장합니다.다음 연속 줄은 인코딩 문자열 값인 "enc"를 인쇄하기 위해 print 자구를 사용합니다.터미널은 바이트 단위로 인코딩 문자열을 표시합니다.여기에 위에서 설명한 각본을 인용했다.
>>> s = chr(13) + ‘hello’ + chr(14)
>>> enc = s.encode( ‘utf-8’ )
>>> print(enc)
b’\rhello\x0e’

인코딩 문자열을 원시 형식으로 디코딩할 때입니다.따라서 우리는 변수'enc'에 decode 함수를 적용하여 원시 문자열로 변환하고 변수'dec'에 저장합니다.print 문장이 셸에 디코딩 문자열을 인쇄했습니다. 다음 그림과 같이 hello입니다.여기에 위에서 설명한 각본을 인용했다.
>>> = enc.decode()
>>> print(dec)
hello

예제 2


문자열을 디코딩하는 예를 하나 더 들자.새 Python 형식 파일을 만들었습니다.Python 지원을 추가하면 문자열 "str"를 초기화하고 encode 함수를 사용하여 utf-8 형식의 바이트 형식으로 인코딩합니다.오류가 "strict"로 설정되어 UnicodeError만 일으키고 나머지는 무시됩니다.
인코딩 문자열은 변수'enc'에 저장되고, print 자구는'type ()'방법으로 인코딩 변수의 형식을 인쇄합니다.print 문장은 인코딩 문자열을 출력하고 decode 함수는 원본 문자열을 디코딩합니다.디코딩된 문자열이 인쇄됩니다.여기에 위에서 설명한 각본을 인용했다.
#!/usr/bin/python3
str = “HelloLinux”
enc = str.encode(‘utf-8’, ‘strict’)
print(type(enc))
print(“The encoded string: ”, enc)
dec = enc.decode(‘utf-8’, ‘strict’)
print(“The decoded string: ”, dec)

이 Python 파일은 인코딩 문자열의 유형, 즉 바이트를 표시하고 인코딩 문자열과 디코딩 문자열을 표시합니다.
$ python3 decode.py

예 3


우리 마지막 예시로 본문을 끝내자.이번에는 문자열을utf\U 16 바이트 형식으로 변환합니다.따라서 문자열을 초기화하고 encode () 함수를 사용하여 utf\U 16 인코딩합니다.
인코딩 문자열이 변수 "enc"에 저장되었습니다. 종류와 값을 인쇄했습니다."enc"변수의 decode () 함수를 사용하여 인코딩된 문자열 변수를 원시 변수로 디코딩하고 셸에 출력합니다.여기에 위에서 설명한 각본을 인용했다.
#!/usr/bin/python3
str = “HelloLinux”
enc = str.encode(“utf-16”)
print(type(enc))
print(“The encoded string: ”, enc)
dec = enc.decode(‘utf-16’, ‘strict’)
print(“The decoded string: ”, dec)

이 업데이트된python 코드를 python3 키워드로 실행한 후에 인코딩 문자열 형식의 "bytes"표시와 인코딩과 디코딩 문자열을 얻었습니다.
$ python3 decode.py

결론


본고에서, 우리는 인코딩 문자열을 원시 문자열로 디코딩하는 간단한 예시를 보여 주었다.간단한 문자열을utf-8과utf-16 바이트 형식으로 인코딩한 다음 원본 문자열로 디코딩합니다.우리는 이것이 유익할 것이라고 희망한다.