作者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
1F:→ qweqweqweqwe:^^谢谢 那如果不用regex的话 还有什麽方法可以达到 09/28 23:54
2F:→ qweqweqweqwe:相同的效果? 09/28 23:55
3F:→ leicheong:HTML部分我会feed到XMLTextReader,找meta tag看attrib. 09/29 09:38
4F:→ leicheong:Response header我会直接用IndexOf()加SubString(). 09/29 09:39
5F:→ leicheong:因为charset tag只会出现一次. 09/29 09:41