幾種 HtmlEncode 的區別

2021-08-25 01:40:36 字數 2354 閱讀 6900

問題:

httputility.htmldecode ,httputility.htmlencode 與 server.htmldecode ,server.htmlencode 與 httpserverutility.htmldecode , httpserverutility.htmlencode 有什麼區別?

他們與下面一般手工寫的**有什麼不一樣的?

public

static

string htmlencode(string str)

答案:

htmlencode: 將 html 原始檔中不允許出現的字元進行編碼,通常是編碼以下字元""、"&" 等。

httpserverutility 實體類的 htmlencode 方法 是一種簡便方式,用於在執行時從 asp.net web 應用程式訪問 system.web.httputility.htmlencode 方法。httpserverutility 實體類的 htmlencode 方法 在內部使用 system.web.httputility.htmlencode 對字串進行編碼。

server.htmlencode 其實就是 system.web.ui.page 類封裝的 httpserverutility 實體類的 htmlencode 方法; system.web.ui.page 類有這樣的乙個屬性: public httpserverutility server

所以我們可以認為:

server.htmldecode = httpserverutility 實體類的 htmldecode 方法 = httputility.htmldecode ;

server.htmlencode = httpserverutility 實體類的 htmlencode 方法 = httputility.htmlencode ;

他們只不過是為了呼叫方便,做了封裝而已。

在 asp 中, server.htmlencode method 過濾的字元描述如下:

如果字串不是 dbcs 編碼。這個方法將轉換下面字元:

less-than character (

<

greater-than character (>)

>

ampersand character (&)

&double-quote character (")

"any ascii code character whose code is greater-than or equal to 0x80

, where is the ascii character value.

如果是 dbcs 編碼

server.htmlencode method

在asp.net 中情況也類似

下面是乙個簡單的替換測試**,測試結果看之後的注釋:

protected

void page_load(object sender, eventargs e)

public

void testchar(string t)

所以上面我們提到的常用替換方式還是非常有用的,他還處理了一些 httputility.htmlencode 不支援的替換。

public

static

string htmlencode(string str)

我們使用 reflector 檢視 httputility.htmlencode 的實現,我們就可以看到,它只考慮的五種情況,空格,回車是沒有處理的:

使用 reflector 檢視 httputility.htmlencode 實現**其中最重要的**如下:

public

static

unsafe

void htmlencode(string

value, textwriter output)

int num = indexofhtmlencodingchars(value, 0);

if (num == -1)

else

while (num2-- > 0)

case '\'':

case '"':

case '<");

continue;

}case '>':

}output.write(ch);

continue;

}if ((ch >= '\x00a0') && (ch ");

output.write(((int) ch).tostring(numberformatinfo.invariantinfo));

output.write(';');

}else}}

}}

}

幾種HtmlEncode的區別

一 c 中的編碼 httputility.htmlencode與server.htmldecode server.htmlencode與httpserverutility.htmldecode httpserverutility.htmlencode的區別?它們與下面一般手工寫的 有什麼區別?答案 ...

幾種使用者的區別

1 系統使用者 所謂的系統使用者從字面上理解是使用系統的人,既然是人那麼這就是乙個實體,比如張 三 李四等 這個實體在使用系統時就會有他的行為,比如使用者應用客戶端訪問,使用者註冊 使用者登入 使用者瀏覽等。2 虛擬使用者 3 註冊使用者 所謂的註冊使用者就是系統中已經通過註冊的使用者,這樣的系統一...

幾種差的區別

2009年6月4日 21 22 01 最近由於自己要用到什麼標準差,均方根差.雖然學過,但到用時還是有點糊塗,所以今天好好查查了這些概念。方差 樣本中各資料與樣本平均數的差的平方和的平均數叫做樣本方差,公式如下所示 標準差 standard deviation 標準差也稱均方差 mean squar...