0

私の人生では、これを理解することはできません.jsonファイルからメッセージと誰が言ったのかを抽出しようとしているだけです. ここでそれらのデータを開示することはできませんが、これを行う行は次のとおりです。

print '<%s> %s' % (x['sender_id'], x['content'][0]['text'])

「x」は、私が知る必要があることを含む辞書です。各行の出力は次のようになります。

<username> The quick brown fox jumps over the lazy dog.

多くの IRC ログに見られるように。とにかく、そこにあるタプルの文字列は両方とも Unicode です。つまり、形式的には Python の unicode タイプです。私がチェックしました。ただし、それらをその文字列にフォーマットしようとすると、結果は常に次のようになります。

UnicodeEncodeError: 'ascii' codec can't encode character u'\U0001f52b' in position 26: ordinal not in range(128)

代わりにこれを書くなど、多くのことを試しました:

print u'<%s> %s' % (x['sender_id'], x['content'][0]['text'])

または:

print '<%s> %s' % (x['sender_id'], x['content'][0]['text']).encode('utf-8')

そして、これら2つの戦略を組み合わせたり、他のことを試したりしましたが、試したことはありません. 私は何を間違っていますか?

4

1 に答える 1