ホームページ  >  に質問  >  本文

python 编码问题,求助各位大神

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

我发现直接

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

或者

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

是可以输出中文

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

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

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

黄舟黄舟2713日前450

全員に返信(4)返信します

  • 黄舟

    黄舟2017-04-17 17:54:27

    Python3 では、すべての文字列型が Unicode に変更されており、次のように使用しても問題なく出力されます。

    リーリー

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

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 17:54:27

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

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

    返事
    0
  • 黄舟

    黄舟2017-04-17 17:54:27

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

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:54:27

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

    返事
    0
  • キャンセル返事