對編碼的認識總結

2021-08-19 19:16:40 字數 1075 閱讀 3179

--純為自己總結看的

base64是網路上最常見的用於傳輸8bit位元組碼的編碼方式之一,base64就是一種基於64個可列印字元來表示二進位制資料的方法。

utf-8(8-bit unicode transformation format)是一種針對unicode的可變長度字元編碼,又稱萬國碼。由ken thompson於2023年建立。現在已經標準化為rfc 3629。utf-8用1到6個位元組編碼unicode字元。用在網頁上可以統一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

utf-8是unicode的一種編碼方式(字元「我」unicode編碼後是\u6211 \u表示中文,6211是此字元在對照表中的二進位制資料用十六進製制展示),是對字元的表達,比如什麼樣的二進位制表達什麼樣的字元,有對照表,base64是對二進位制的編碼便於傳輸的,比如傳輸一張啊就可以把的二進位制base64編碼,通過引數傳給其他接收者,不是同乙個概念

urlencode 將需要轉碼的字元轉為16進製制,然後從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%xy格式。(這裡也涉及到用什麼樣的編碼方式,一般utf-8,編碼方式決定轉成什麼樣的二進位制,再經過urlencode轉為16進製制,按規則加%) 編碼出的結果是更適合網路傳輸和base64一樣,但是base64僅僅負責對二進位制編碼

urlencode編碼/urldecode解碼

將需要轉碼的字元轉為16進製制(採用utf-8或者gb2312等unicode編碼對照表),然後從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%xy格式。

比如:空格

ascii碼是32,對應16進製制是20,那麼urlencode編碼結果是:%20,但在新標準中空格對應的是+,見rfc-1738

比如:中ascii碼是-10544,對應的16進製制是ffffffffffffd6d0,那麼urlencode編碼結果是:%d6%d0

瀏覽器採用什麼編碼,伺服器返回的時候告訴瀏覽器採用什麼編碼(response.setcontenttype("text/html;charset=utf-8");),瀏覽器在求請求的時候,也根據上一次返回的編碼方式,對本次請求的內容比如中文進行此編碼方式進行編碼

對Silverlight的認識總結

這幾天要研究跨瀏覽器外掛程式的實現方案,對silverlight有了乙個接觸的機會,下面是自已的一些理解,記錄一下以便後續查閱,如有理解偏差之處,請指正 silverlight是微軟推出的乙個跨瀏覽器 ie chrome safari firefox等 跨平台 windows mac 的外掛程式,為...

對「認識」的認識

很早就想談談關於 認識 的認識。這是乙個巨集大深刻的哲學問題。只是覺得沒有完全思考清楚,還以為觀點有些偏頗,擔心自己沒能力系統論述,就遲遲沒有動筆。但想到談論的問題本身就是乙個偏頗的問題,而且,我始終覺得,問題儘管偏頗,但卻不無道理。所以,提筆寫下這篇文字。正像思想的本質是不安一樣,認識的本質是片面...

對UTF8編碼的初步認識

網路中有很多地方都有採用utf8編碼,由於要編寫與郵件服務端有關的程式,而郵件服務端有些地方用到了utf8編碼,所以對它有了初步的認識!它其實和unicode是同類,就是在編碼方式上不同!首先utf8編碼後的大小是不一定,不像unicode編碼後的大小是一樣的!我們先來看unicode的編碼 乙個英...