0
# coding=UTF-8
with open('/home/marius/dev/python/navn/list.txt') as f:
    lines = f.read().splitlines()
    print lines

このファイル/home/marius/dev/python/navn/list.txtには、æ、ø、å、Æ、Ø、Å などの特殊文字を含む文字列のリストが含まれています。ターミナルでは、これらはすべて 16 進数として表示されます。これらをUTF-8としてレンダリングしたい。これはどのように行われますか?

4

1 に答える 1

4

データを UTF-8 から Unicode 値にデコードし、Python でこれらの値を端末のエンコードに自動的にエンコードします。

with open('/home/marius/dev/python/navn/list.txt') as f:
    for line in f:
        print line.decode('utf8')

読みながら、データを使用io.open()してデコードすることができます。

import io

with io.open('/home/marius/dev/python/navn/list.txt', encoding='utf8') as f:
    for line in f:
        print line
于 2013-08-19T08:12:29.607 に答える