作者leicheong (睡魔)
看板C_Sharp
標題Re: [問題] 關於擷取所有原始碼
時間Fri Sep 28 23:04:29 2007
※ 引述《qweqweqweqwe (啪)》之銘言:
: 剛剛寫了一下
: 最後決定用抓meta charset的方法
: (因為試了 response header.. 成功率不高)..
: http://s93.tku.edu.tw/~493522469/GetResponse.txt
: 這是我的程式碼@@
: 有空的人可以幫忙看一下有什麼可以改進效率的地方嗎
看了一下... 效率方面沒有意見. (本身認為.NET的RegEx效率比較差...
不過這也許只是我的偏見.)
不過有兩個地方想提一下:
1) 看這兩行:
if (IsGBCode(words[i].ToString()) || IsGBKCode(words[i].ToString()) ||
IsBig5Code(words[i].ToString()))
byte[] bytes = Encoding.GetEncoding("GBK").GetBytes(word.ToString());
為什麼ToString()完又要再ToString()呢? (這會在compile成release時自動
被compiler除掉, 因此不算效能問題...)
2) 檢查code時最好標點和標點後的空白豁免檢查, 因為沒有這些的話
一整段實在不好看...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.73.76.102
→ qweqweqweqwe:^^謝謝 那如果不用regex的話 還有什麼方法可以達到 09/28 23:54
→ qweqweqweqwe:相同的效果? 09/28 23:55
→ leicheong:HTML部分我會feed到XMLTextReader,找meta tag看attrib. 09/29 09:38
→ leicheong:Response header我會直接用IndexOf()加SubString(). 09/29 09:39
→ leicheong:因為charset tag只會出現一次. 09/29 09:41