我正在閱讀其他人,並且涉及unicode的部分,這對我來說總是令人頭痛的。如果你能提供一些提示,那真的會有很大的幫助。unicode中的%2是什麼
的情況是這樣: 我有一個名爲stopword.txt停用詞文件在以下形式:
1 781037
2 650706 damen
3 196100 löwe
4 146044 lego
5 138280 monster
6 136410 high
7 100657 kost%c3%bcm #this % seems to be strange already
8 94084 schuhe
9 93680 kinder
10 87308 mit
和代碼試圖在裏面看書,喜歡看:
with open('%s/%s'%('path_to_stopwords.txt'), 'r') as f:
stoplines = [line.decode('utf-8').strip() for line in f.readlines()]
這個解碼('utf-8')似乎對我來說很神祕。正如我的理解,沒有額外的 規範「打開」方法讀入文件作爲字符串,將被自動編碼爲 ascii(所以在這種情況下,如果打開的文件包含代碼點在128之外的字符,我們將它讀入編碼爲ascii的程序中,因爲那麼ö將被截斷編碼?)在讀入程序後嘗試將它解碼爲utf-8的含義是什麼?
爲了驗證我的想法,我試圖用代碼來檢查每行中的內容。
for line in stoplines:
print line
這給了我:
%09
%21%21%21
%26
%26amp%3b
%28buch%29
%28gr.
%2b
%2bbarbie
我很困惑,其中這些%從何而來。我是否正確閱讀了文件的上下文?
Thnak你非常
你爲什麼要用'%s /%s'%('path_to_stopwords.txt')'? –