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

想请问下拿到一串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 では、すべての文字列型が Unicode に変更されており、次のように使用しても問題なく出力されます。

リーリー

Python2.7では、uを追加するとUnicodeを意味し、追加しないと文字列を意味するため、uを直接削除して同等の文字列を取得します。データ型と文字列長をそれぞれ出力するとわかります。

いいねを押す +0
小葫芦

最後の文
a = 'u4ed7u5251u5929u6daf'
a は実際には文字列です。
中国語を印刷するには a を Unicode に変換する必要があります。

.decode を印刷できます。 ('unicode-escape')
リファレンス
http://stackoverflow.com/questions/10268518/python-string-to-unicode

いいねを押す +0
黄舟

最後の文 a = 'u4ed7u5251u5929u6daf' なぜ引用符の前の u を省略する必要があるのでしょうか?

いいねを押す +0
Peter_Zhu

Python 文字列の前の u は、文字列が Unicode エンコードで解析される必要があることを示します。
デコードを使用します。これは、文字列「u4ed7u5251u5929u6daf」を Unicode エンコードに変換することを意味します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!