내 원래 문자열 (즉, U 접두어) 어쨌든 유니 코드 문자열
... 문제가 있었다. 그것은 "문자열"이 아니라 "유니 코드 객체"였습니다. 유니 코드 코드 포인트의 시퀀스를 포함합니다. 물론이 코드 포인트는 파이썬이 알고있는 내부 표현을 가지고 있어야하지만, 추상화 된 것은 모두 print repr(my_u_str)
일 때 \uXXXX
엔티티로 표시됩니다.
다른 프로그램에서 이해할 수있는 바이트 시퀀스를 얻으려면 유니 코드 코드 포인트 시퀀스를 가져 와서 인코딩해야합니다. 선택할 수있는 요소가 많기 때문에 인코딩을 결정해야합니다. UTF8 및 UTF16은 일반적인 선택입니다. ASCII가 맞을 수도 있습니다. u"abc".encode('ascii')
은 정상적으로 작동합니다. 첫 번째는 <type 'unicode'>
이고 두 번째는 <type 'str'>
이다
my_u_str = u"\u2119ython"
다음과 type(my_u_str)
type(my_u_str.encode('utf8'))
이 유형의 차이를보기 위해 수행. (파이썬 2.5와 2.6에서, 어쨌든).
모든 것은 파이썬 3에서 다르지만, 거의 사용하지 않았기 때문에 그것에 대해 권위있는 것을 말하려고하면 모자를 쓰지 않을 것입니다.
직접적인 답변은 아니지만이 텍스트는 읽을 가치가 있습니다. 모든 소프트웨어 개발자는 절대적으로 최소, 유니 코드와 문자 집합에 대해 알 필요가 있습니다. (http : //www.joelonsoftware. com/articles/Unicode.html) by Joel Spolsky – balpha
추측 지향 프로그래밍. 이제 이것이 인기있는 패러다임입니다. 내 경험으로 기본에 대해 배워두는 – Amnon
(여기서하는 것처럼)이 더 효과적입니다. – Amnon