日誌分析中檔案編碼問題以及讀檔案匹配問題總結

2021-08-27 02:47:42 字數 956 閱讀 3834

一、檔案編碼問題:

日誌格式可以為utf-8無bom格式 或者 ansi格式編碼。

因為utf-8格式編碼會導致出現一些奇怪的問題,比如,第一行的log或待匹配的關鍵字 查詢不到。

原因是:utf-8編碼的檔案中,bom佔三個位元組

。如果用記事本把乙個文字檔案另存為utf-8編碼方式的話,

用ue開啟這個檔案,切換到十六進製制編輯狀態就可以看到開頭的fffe了。

切記。尤其是手動寫了關鍵字列表需要去log中查詢時一定要注意編碼格式不要是utf-8格式。

與utf—8(無bom)格式相比有什麼不同)

二、讀檔案匹配過程編碼問題:

讀檔案後,在匹配的時候注意是應該用「正規表示式」還是用「eq」。

前幾天做乙個詞條pv統計的工作,兩種方式得到的結果不一樣。找了很久的原因,各種編碼方式換來換去的試用啊,最後的原因為:

1、keywords.txt的編碼改為utf-8無bom格式,兩種方式的pv差距縮小了一些。

2、將使用re匹配的規則換用eq來比較,兩種方式的pv結果一樣了。

三、附屬對比**:

1、笨方法:

$_ = decode('utf8',$_);

#if( $_ =~/(北京首都機場賓館|廣州維景大酒店|德勝酒店|三亞萬豪度假酒店|伯瓷酒店|竹灣酒店|葡京酒店|凱悅酒店|華威酒店|靈山大佛|黿頭渚|東部華僑城|張家界|周莊|象鼻山|千島湖\[杭州\]) (\d+)/)+=$doc_pv;

$totalnum+=$doc_pv;

}}

2、效率高的方法,切記,keywords.txt的編碼格式要為

utf-8無bom格式.

while()

)) += $2;

$sumpv += $2;

}

日誌分析中檔案編碼問題以及讀檔案匹配問題總結

一 檔案編碼問題 日誌格式可以為utf 8無bom格式 或者 ansi格式編碼。因為utf 8格式編碼會導致出現一些奇怪的問題,比如,第一行的log或待匹配的關鍵字 查詢不到。原因是 utf 8編碼的檔案中,bom佔三個位元組 如果用記事本把乙個文字檔案另存為utf 8編碼方式的話,用ue開啟這個檔...

Python檔案中文編碼問題

需要讀取utf 8編碼的中文檔案,先利用sublime text軟體將它改成無dom的編碼,並且在第一行寫 encoding utf 8 然後用以下 with codecs.open note path,r utf 8 as f line f.readline print line 這樣就可以正確地...

深入分析Java Web 03 中文編碼問題

編碼問題是開發人員必須接觸的問題,也是必須重視的問題,而針對編碼比較重點的其實就是中文編碼,如何讓中文的顯示不出現亂碼,是開發人員注意的重中之重。人類有很多種語言,但是在計算機中,只有0和1,通過計算機中基本的儲存單元 位元組 byte 來表如此眾多的語言,顯然是乙個非常巨大的工程,我們可以把計算機...