十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)怎么認(rèn)識編碼,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
認(rèn)識編碼的方法:1、Base64是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)碼的編碼方式之一,Base64就是一種基于64個(gè)可打印字符來表示二進(jìn)制數(shù)據(jù)的方法;2、【UTF-8】是一種針對Unicode的可變長度字符編碼,又稱萬國碼。
認(rèn)識編碼的方法:
編碼主要分為兩個(gè)部分
Base64是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)碼的編碼方式之一,Base64就是一種基于64個(gè)可打印字符來表示二進(jìn)制數(shù)據(jù)的方法。
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼。由Ken Thompson于1992年創(chuàng)建?,F(xiàn)在已經(jīng)標(biāo)準(zhǔn)化為RFC 3629。UTF-8用1到6個(gè)字節(jié)編碼Unicode字符。用在網(wǎng)頁上可以統(tǒng)一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。
utf-8是unicode的一種編碼方式(字符“我”unicode編碼后是\u6211 \u表示中文,6211是此字符在對照表中的二進(jìn)制數(shù)據(jù)用十六進(jìn)制展示),是對字符的表達(dá),比如什么樣的二進(jìn)制表達(dá)什么樣的字符,有對照表,base64是對二進(jìn)制的編碼便于傳輸?shù)?,比如傳輸一張圖片啊就可以把圖片的二進(jìn)制base64編碼,通過參數(shù)傳給其他接收者,不是同一個(gè)概念
UrlEncode 將需要轉(zhuǎn)碼的字符轉(zhuǎn)為16進(jìn)制,然后從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%XY格式。(這里也涉及到用什么樣的編碼方式,一般utf-8,編碼方式?jīng)Q定轉(zhuǎn)成什么樣的二進(jìn)制,再經(jīng)過urlencode轉(zhuǎn)為16進(jìn)制,按規(guī)則加%) 編碼出的結(jié)果是更適合網(wǎng)絡(luò)傳輸和base64一樣,但是base64僅僅負(fù)責(zé)對二進(jìn)制編碼
urlencode編碼/urldecode解碼
將需要轉(zhuǎn)碼的字符轉(zhuǎn)為16進(jìn)制(采用UTF-8或者gb2312等unicode編碼對照表),然后從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%XY格式。
比如:空格 ASCII碼是32,對應(yīng)16進(jìn)制是20,那么urlencode編碼結(jié)果是:%20,但在新標(biāo)準(zhǔn)中空格對應(yīng)的是+,見RFC-1738
比如:中ASCII碼是-10544,對應(yīng)的16進(jìn)制是FFFFFFFFFFFFD6D0,那么urlencode編碼結(jié)果是:%D6%D0
瀏覽器采用什么編碼,服務(wù)器返回的時(shí)候告訴瀏覽器采用什么編碼(response.setContentType("text/html;charset=UTF-8");),瀏覽器在求請求的時(shí)候,也根據(jù)上一次返回的編碼方式,對本次請求的內(nèi)容比如中文進(jìn)行此編碼方式進(jìn)行編碼
關(guān)于怎么認(rèn)識編碼就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。