programing

유니 코드 할 Python 문자열

kingscode 2021. 1. 18. 08:11
반응형

유니 코드 할 Python 문자열


중복 가능성 :
ASCII 문자열을 유니 코드로 처리하고 파이썬에서 이스케이프 된 문자를 이스케이프 해제하려면 어떻게해야합니까?
유니 코드 이스케이프 시퀀스를 파이썬 문자열의 유니 코드 문자로 변환하는 방법

예를 들어 유니 코드 문자를 포함하는 문자열이 있습니다 \u2026. 어떻게 든 그것은 나에게으로 수신되지 unicode않지만 str. 다시 유니 코드로 변환하려면 어떻게합니까?

>>> a="Hello\u2026"
>>> b=u"Hello\u2026"
>>> print a
Hello\u2026
>>> print b
Hello…
>>> print unicode(a)
Hello\u2026
>>> 

그래서 분명히 unicode(a)답이 아닙니다. 그럼 뭐야?


유니 코드 이스케이프는 유니 코드 문자열에서만 작동하므로

 a="\u2026"

실제로는 '\', 'u', '2', '0', '2', '6'의 6 개 문자로 구성된 문자열입니다.

이로부터 유니 코드를 만들려면 다음을 사용하십시오 decode('unicode-escape').

a="\u2026"
print repr(a)
print repr(a.decode('unicode-escape'))

## '\\u2026'
## u'\u2026'

unicode-escape코덱으로 디코딩합니다 .

>>> a="Hello\u2026"
>>> a.decode('unicode-escape')
u'Hello\u2026'
>>> print _
Hello…

이는 유니 코드가 아닌 문자열의 경우 \u2026는 인식되지 않고 대신 리터럴 일련의 문자로 처리되기 때문입니다 (더 명확하게 말하면 'Hello\\u2026'). 이스케이프를 디코딩해야하며 unicode-escape코덱이이를 수행 할 수 있습니다.

unicode코덱 인수를 지정하여 동일한 방식으로 인식 할 수 있습니다 .

>>> unicode(a, 'unicode-escape')
u'Hello\u2026'

그러나 a.decode()방법이 더 좋습니다.


>>> a="Hello\u2026"
>>> print a.decode('unicode-escape')
Hello…

참조 URL : https://stackoverflow.com/questions/10268518/python-string-to-unicode

반응형