<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 32,  comments - 3,  trackbacks - 0
      2011年8月5日

    發現現在幾乎所有的網站都對url中的漢字和特殊的字符,進行了urlencode操作,也就是:

    http://hi.baidu.com/%BE%B2%D0%C4%C0%CF%C8%CB/creat/blog/

    這個樣子,中間%形式的,肯定就是我的登錄用戶名稱了吧。

    為什么對這些字符進行了u的編碼形式,是為了字符編碼(gbk、utf8)還是為了不出現特殊的字符在url中?都知道要轉,但是轉了的真正好處呢。查看了網上的很多資料,也沒有找到更加準確的說法。

    url轉義其實也只是為了符合url的規范而已。因為在標準的url規范中中文和很多的字符是不允許出現在url中的。

    看一下php的urlencode的說明了。

    urlencode — 編碼 URL 字符串

    string urlencode ( string $str )

    返回字符串,此字符串中除了 -_. 之外的所有非字母數字字符都將被替換成百分號(%)后跟兩位十六進制數,空格則編碼為加號(+)。此編碼與 WWW 表單 POST 數據的編碼方式是一樣的,同時與 application/x-www-form-urlencoded 的媒體類型編碼方式一樣。由于歷史原因,此編碼在將空格編碼為加號(+)方面與 RFC1738 編碼(參見 rawurlencode())不同。此函數便于將字符串編碼并將其用于 URL 的請求部分,同時它還便于將變量傳遞給下一頁。

    標準的英文說明是:

    "...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."

    那哪些字符是需要轉化的呢?

    1. ASCII 的控制字符

    這些字符都是不可打印的,自然需要進行轉化。

    2. 一些非ASCII字符

    這些字符自然是非法的字符范圍。轉化也是理所當然的了。

    3. 一些保留字符

    很明顯最常見的就是“&”了,這個如果出現在url中了,那你認為是url中的一個字符呢,還是特殊的參數分割用的呢?

    4. 就是一些不安全的字符了。

    例如:空格。為了防止引起歧義,需要被轉化為“+”。

    明白了這些,也就知道了為什么需要轉化了,而轉化的規則也是很簡單的。

    按照每個字符對應的字符編碼,不是符合我們范圍的,統統的轉化為%的形式也就是了。自然也是16進制的形式。

    和字符編碼無關

    通過urlencode的轉化規則和目的,我們也很容易的看出,urleocode是基于字符編碼的。同樣的一個漢字,不同的編碼類型,肯定對應不同的urleocode的串。gbk編碼的有gbk的encode結果。

    apache等服務器,接受到字符串后,可以進行decode,但是還是無法解決編碼的問題。編碼問題,還是需要靠約定或者字符編碼的判斷解決。

    因此,urleocode只是為了url中一些非ascii字符,可以正確無誤的被傳輸,至于使用哪種編碼,就不是eocode所關心和解決的問題了。

    編碼問題,不是urlencode所要解決的。
    轉自:http://apps.hi.baidu.com/share/detail/32230450

    參考資料:

    http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

    http://cn.php.net/manual/zh/function.urlencode.php

     

     

     

    posted @ 2011-08-10 13:16 donghang73 閱讀(10422) | 評論 (0)編輯 收藏

    在文件夾選項里改了驅動器或文件夾的圖標,發現雙擊打開硬盤變成了搜索

    解決方法:

    運行
    regsvr32 /i shell32.dll

    解決!

    posted @ 2011-08-05 10:27 donghang73 閱讀(242) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲avav天堂av在线网毛片| 亚洲成人一级电影| 色哟哟国产精品免费观看| 日本免费一区二区三区最新 | 久久精品人成免费| 亚洲av福利无码无一区二区| 免费精品一区二区三区第35| 亚洲av中文无码乱人伦在线播放| 国产一级淫片a免费播放口| 亚洲精品无码国产| 久久免费国产视频| 亚洲人成毛片线播放| 免费做爰猛烈吃奶摸视频在线观看 | 久久久无码精品亚洲日韩软件| 国产亚洲一卡2卡3卡4卡新区| 免费a在线观看播放| XXX2高清在线观看免费视频| 国产亚洲人成网站观看| 伊人久久免费视频| 亚洲一区二区三区高清不卡| 国内外成人免费视频| 日本特黄特色AAA大片免费| 亚洲精品狼友在线播放| 最近免费视频中文字幕大全| 一区二区亚洲精品精华液| 免费人成视频x8x8入口| 国产无遮挡无码视频免费软件 | 亚洲一级片免费看| 久久久久亚洲精品成人网小说| 91频在线观看免费大全| 亚洲成a人片在线观看天堂无码| 亚洲av日韩av欧v在线天堂| 青青操免费在线观看| 亚洲毛片基地4455ww| 免费国产a国产片高清| 亚欧免费一级毛片| jzzijzzij在线观看亚洲熟妇| 国产亚洲精品无码拍拍拍色欲| 日韩精品无码免费一区二区三区| 亚洲精品无码mⅴ在线观看| 亚洲色欲色欲www在线丝 |