ファイルへのテキストの読み取りと書き込みを理解するのに脳の障害があります(Python 2.4)。
#a-acuteを含む文字列。ss= u "Capitxe1n" ss8 = ss.encode( "utf8")repr(ss)、repr(ss8)
( "u" Capitxe1n ""、 "" Capitxc3xa1n "")
print ss、ss8 print>> open( "f1"、 "w")、ss8>>> file( "f1")。read( )"Capitxc3xa1n"
そこで、ファイルf2のお気に入りのエディターに Capitxc3xa1n
と入力します。
次に:
>>> open( "f1")。read() "Capitxc3xa1n">>> open( "f2")。read() "Capit xc3 xa1n">&gt ;> open( "f1")。read()。decode( "utf8")u "Capitxe1n">>> open( "f2")。read()。decode( "utf8")u "Capit xc3 xa1n "
ここで私が理解していないことは何ですか?明らかに、私が見逃している重要な魔法(または良識)がいくつかあります。適切な変換を行うためにテキストファイルに入力するものは何ですか?
ここで本当に失敗しているのは、Pythonを実際に取得できない場合のUTF-8表現のポイントです。それが外部から来るとき、それを認識してください。たぶん私は文字列をJSONダンプし、代わりにそれを使用する必要があります。もっと重要なことは、Pythonがファイルから入ってくるときに認識してデコードするこのUnicodeオブジェクトのASCII表現はありますか?もしそうなら、どうすれば入手できますか?
>>> print simplejson.dumps(ss) "" Capitu00e1n "">>>印刷>> file( "f3"、 "w")、simplejson.dumps(ss)>>> simplejson.load(open( "f3"))u "Capitxe1n"