python 编码问题,求助各位大神
黄舟
黄舟 2017-04-17 17:52:27
0
4
486

想请问下拿到一串unicode编码串,要怎么才能转换中文输出

我发现直接

print u'\u4ed7\u5251\u5929\u6daf'

或者

a = u"\u4ed7\u5251\u5929\u6daf"
print a

是可以输出中文

但是如果把串赋值到变量,用decode,encode转换都不行

a = '\u4ed7\u5251\u5929\u6daf'

不知道怎样print a才能输出中文了?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

모든 응답(4)
黄舟

Python3에서는 모든 문자열 유형이 유니코드로 변경되었습니다. 다음과 같이 사용하면 출력이 동일합니다

으아아아

Python2.7에서는 u를 추가하면 유니코드를 의미하고, 추가하지 않으면 문자열을 의미하므로 u를 직접 제거하고 해당 문자열을 얻으면 데이터 유형과 문자열 길이가 각각 나옵니다

.
小葫芦

마지막 문장
a = 'u4ed7u5251u5929u6daf'
a는 실제로 문자열입니다.
따라서 중국어를 인쇄하려면 a를 유니코드로 변환해야 하며,

.decode를 인쇄할 수 있습니다. ('unicode-escape')
참조
http://stackoverflow.com/questions/10268518/python-string-to-unicode

黄舟

마지막 문장 a = 'u4ed7u5251u5929u6daf' 왜 따옴표 앞에 u를 삭제해야 하나요?

Peter_Zhu

Python 문자열 앞의 u는 문자열이 유니코드 인코딩으로 구문 분석되어야 함을 나타냅니다.
디코드를 사용합니다. 이는 'u4ed7u5251u5929u6daf' 문자열을 유니코드 인코딩으로 변환한다는 의미입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!