我在理解讀取文本和將文本寫入文件(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 "
所以我在我最喜歡的編輯器中輸入 Capitxc3xa1n
,在文件 f2 中。
然後:
>>>open("f1").read()"Capitxc3xa1n">>>open("f2").read()"Capitxc3xa1n">> ;> open("f1").read().decode("utf8") u"Capitxe1n" >>> open("f2").read().decode("utf8") u"Capit xc3xa1n "
我在這裡不明白什麼?顯然我缺少一些重要的魔法(或良好的感覺)。一種類型到文本文件中以獲得正確的轉換?
我在這裡真正無法理解的是 UTF-8 表示的意義是什麼,如果你不能真正讓 Python當它來自外部時,認出它。也許我應該只是 JSON 轉儲字符串,並改用它,因為它有一個 asciiable 表示!更重要的是,當從文件進入時,Python 會識別和解碼這個 Unicode 對象的 ASCII 表示嗎?如果是這樣,我如何獲得它?
>>>打印 simplejson.dumps(ss) ""Capitu00e1n"" >>>打印>>文件(“f3”,“w”),simplejson.dumps(ss)>>> simplejson.load(open("f3")) u"Capitxe1n"