獲取html頁面時如何選擇合適的Encoding

2021-09-08 23:27:24 字數 597 閱讀 2902

當我們通過webrequest或其它socket方式獲取乙個html頁面時,獲取到的是乙個tcp流,儲存後也是乙個位元組陣列。為了獲取它的資訊,還需將其解析為字串。

解析的方式很簡單,下面兩句話即可輕鬆完成。

var reader = new

streamreader(rsp.getresponsestream());

var html = reader.readtoend();

常用.net的io庫的朋友一看就知道,這種方式無法對中文頁面解析,解析出來的中文是亂碼,為了正確的解析中文,還需要選擇合適的編碼方式。

然而,中文的編碼方式有很多種,常見的就有gb2312、utf-8、utf-16等。我以前通常是直接使用encoding.default來獲取系統預設編碼方式。這種方式大多數情況下使用,然而對於那些採用utf-8等方式的網頁就無法解析。

如何獲取頁面的編碼方式呢?答案在httphead的頭資訊中的charset資訊中。然而有些網頁卻不包含charset的httphead。對於這些網頁,大可以像我以前那樣直接用系統預設編碼。

乙個簡單的示例如下:

static

void main(string args)

Mysql 建立表時如何選擇合適的型別

在使用mysql建立資料表時都會遇到乙個問題,如何為字段選擇合適的資料型別。例如,建立一張員工表用來記錄員工的資訊,這時對員工的各種屬性如何來進行定義?也許大家會想,這個問題很簡單,每個字段可以使用很多種資料型別來定義,比如int float double decimal等。其實正因為可選擇的資料型...

HTML 獲取 修改html頁面標題

作為乙個標準的html文件,網頁標題 title 是必不可少的屬性。隨著瀏覽器的發展,我們又多了一種訪問和修改文件的方式 dom。所以我們獲取網頁標題的方式大致可分為以下兩種 通過document物件訪問title vartitle document.title 通過dom方式訪問title var...

原創 如何在面試時選擇合適的測試人員?

原創 如何在面試時選擇合適的測試人員?1你最近3 5年的職業規劃是什麼?重點考察測試人員的職業發展方向是否與當前職位招聘相符?從其中可以側面看出來其員工穩定性。2乙個專案測試結束,有沒什麼經驗總結?如果有,具體是如何開展的?重點考察測試人員對自己能力提公升方面,有沒有提高總結的地方,從專案中吸取的經...