파이썬 3, 유니 코드 변환, 2 개의 \ u0000을 하나의 문자로

빅터 메즈 린

내 python3 스크립트는 파이프를 통해 C ++ 프로그램에서 문자열을받습니다. 유니 코드 코드 포인트를 통해 인코딩 된 문자열. 올바르게 디코딩해야합니다.

예를 들어, 키릴 기호가 포함 된 문자열을 고려하십시오. 'тест test'

python3 :을 사용하여이 문자열을 인코딩 해보십시오 print('тест test'.encode()). 우리는b'\xd1\x82\xd0\xb5\xd1\x81\xd1\x82 test'

C ++ 프로그램은이 문자열을 다음과 같이 인코딩합니다. b'\u00D1\u0082\u00D0\u00B5\u00D1\u0081\u00D1\u0082 test'

인코딩 된 문자열은 매우 비슷해 보입니다. python3은 \x(2 비트)를 사용하고 C ++ 프로그램은 \u(4 비트)를 사용합니다 . 그러나 나는 변환하는 방법을 알아낼 수 없습니다 b'\u00D1\u0082\u00D0\u00B5\u00D1\u0081\u00D1\u0082 test''тест test'. 주요 문제-python3 b'\u00D1\u0082\u00D0\u00B5\u00D1\u0081\u00D1\u0082'은 8 자 문자열로 간주 하지만 4 자만 포함합니다.

마크 톨로 넨

C ++에서받은 문자열이 Python에서 다음과 같은 경우 :

s = b'\u00D1\u0082\u00D0\u00B5\u00D1\u0081\u00D1\u0082 test'

그런 다음 디코딩합니다.

result = s.decode('unicode-escape').encode('latin1').decode('utf8')
print(result)

산출:

тест test

첫 번째 단계는 수신 된 바이트 문자열을 유니 코드 문자열로 변환합니다.

>>> s1 = s.decode('unicode-escape')
>>> s1
'Ñ\x82еÑ\x81Ñ\x82 test'

불행히도 유니 코드 코드 포인트는 실제로 UTF-8 바이트 값입니다. latin1그래서 코드 포인트 바이트 열에서 바이트 값으로 다시 변환이 코덱으로 코딩하는, 제 256 개 유니 코드 코드 포인트 1 매핑 : 부호화는 1 :

>>> s2 = s1.encode('latin1')
>>> s2
b'\xd1\x82\xd0\xb5\xd1\x81\xd1\x82 test'

이제 바이트 문자열을 올바른 유니 코드 문자열로 디코딩 할 수 있습니다.

>>> s3 = s2.decode('utf8')
>>> s3
'тест test'

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬은 목록 항목을 한 줄의 유니 코드로 변환

분류에서Dev

유니 코드의 파이썬 배열을 부동 변환으로

분류에서Dev

유니 코드 코드 포인트에서 파이썬의 실제 유니 코드 문자열로 변환하는 방법은 무엇입니까?

분류에서Dev

유니 코드의 문자열 표현을 유니 코드로 변환

분류에서Dev

인쇄 출력을 "3 개 이상의 인수"를 사용하여 변수 / 문자열로 변환하는 방법은 무엇입니까? (파이썬 3)

분류에서Dev

파이썬 문자열을 2 개의 변수로 나누는 방법

분류에서Dev

이들 U + [헥사] 표현을 포함하는 문자열을 유니 코드 문자로 변환 ( "\ u2030")

분류에서Dev

UnicodeDecodeError : 이더 리움 개인 키의 파이썬 바이트 문자열을 문자열로 변환합니까?

분류에서Dev

16 진수 문자 문자열을 유니 코드 문자열로 변환 (파이썬)

분류에서Dev

R로 레코딩 : 데이터의 2 개 숫자 행을 하나의 요소 행으로 변환

분류에서Dev

파이썬의 csv 파일에 유니 코드 문자열로 두 개의 목록을 저장하는 방법은 무엇입니까?

분류에서Dev

python3 : 유니 코드 인코딩이있는 문자열을 문자 문자열로 변환하는 방법

분류에서Dev

파이썬에서 str을 유니 코드로 변환

분류에서Dev

SPSS의 유니 코드 문자 변환

분류에서Dev

숫자의 유니 코드 표현을 ASCII 문자열로 변환

분류에서Dev

특수 문자로 고정 너비 유니 코드 파일 줄의 압축을 풉니 다. 파이썬 UnicodeDecodeError

분류에서Dev

유니 코드 문자열을 바이트 파이썬 3으로

분류에서Dev

utf-8 형식의 문자열을 유니 코드로 변환 : Python

분류에서Dev

시간의 유니 코드 문자열을 datetime 객체로 변환

분류에서Dev

유니 코드를 파이썬의 사전에서 정수 또는 부동으로 변환하는 방법

분류에서Dev

파이썬에서 문자열을 코드로 어떻게 변환합니까?

분류에서Dev

파이썬의 struct.unpack 코드를 자바로 변환

분류에서Dev

이식 가능한 코드 : Python 2와 Python 3 사이의 __import__ 매개 변수 문자열 유형

분류에서Dev

print는 파이썬에서 문자열을 유니 코드로 변환합니까?

분류에서Dev

파이썬 사전의 키로서의 유니 코드 문자열

분류에서Dev

파이썬에서 유니 코드를 원래 문자로 변환하는 방법

분류에서Dev

유니 코드 목록을 파이썬에서 문자열 목록으로 변환

분류에서Dev

쿼리의 mongodb 값을 파이썬의 문자열로 변환

분류에서Dev

파이썬에서 3 개의 사전을 하나로 병합

Related 관련 기사

  1. 1

    파이썬은 목록 항목을 한 줄의 유니 코드로 변환

  2. 2

    유니 코드의 파이썬 배열을 부동 변환으로

  3. 3

    유니 코드 코드 포인트에서 파이썬의 실제 유니 코드 문자열로 변환하는 방법은 무엇입니까?

  4. 4

    유니 코드의 문자열 표현을 유니 코드로 변환

  5. 5

    인쇄 출력을 "3 개 이상의 인수"를 사용하여 변수 / 문자열로 변환하는 방법은 무엇입니까? (파이썬 3)

  6. 6

    파이썬 문자열을 2 개의 변수로 나누는 방법

  7. 7

    이들 U + [헥사] 표현을 포함하는 문자열을 유니 코드 문자로 변환 ( "\ u2030")

  8. 8

    UnicodeDecodeError : 이더 리움 개인 키의 파이썬 바이트 문자열을 문자열로 변환합니까?

  9. 9

    16 진수 문자 문자열을 유니 코드 문자열로 변환 (파이썬)

  10. 10

    R로 레코딩 : 데이터의 2 개 숫자 행을 하나의 요소 행으로 변환

  11. 11

    파이썬의 csv 파일에 유니 코드 문자열로 두 개의 목록을 저장하는 방법은 무엇입니까?

  12. 12

    python3 : 유니 코드 인코딩이있는 문자열을 문자 문자열로 변환하는 방법

  13. 13

    파이썬에서 str을 유니 코드로 변환

  14. 14

    SPSS의 유니 코드 문자 변환

  15. 15

    숫자의 유니 코드 표현을 ASCII 문자열로 변환

  16. 16

    특수 문자로 고정 너비 유니 코드 파일 줄의 압축을 풉니 다. 파이썬 UnicodeDecodeError

  17. 17

    유니 코드 문자열을 바이트 파이썬 3으로

  18. 18

    utf-8 형식의 문자열을 유니 코드로 변환 : Python

  19. 19

    시간의 유니 코드 문자열을 datetime 객체로 변환

  20. 20

    유니 코드를 파이썬의 사전에서 정수 또는 부동으로 변환하는 방법

  21. 21

    파이썬에서 문자열을 코드로 어떻게 변환합니까?

  22. 22

    파이썬의 struct.unpack 코드를 자바로 변환

  23. 23

    이식 가능한 코드 : Python 2와 Python 3 사이의 __import__ 매개 변수 문자열 유형

  24. 24

    print는 파이썬에서 문자열을 유니 코드로 변환합니까?

  25. 25

    파이썬 사전의 키로서의 유니 코드 문자열

  26. 26

    파이썬에서 유니 코드를 원래 문자로 변환하는 방법

  27. 27

    유니 코드 목록을 파이썬에서 문자열 목록으로 변환

  28. 28

    쿼리의 mongodb 값을 파이썬의 문자열로 변환

  29. 29

    파이썬에서 3 개의 사전을 하나로 병합

뜨겁다태그

보관