常見幾種編碼介紹

2021-10-11 01:49:48 字數 2060 閱讀 8678

作者 | 前嗅

** | 前嗅大資料(www.forenose.com)

為什麼要編碼?

計算機是如何表示我們人類能夠理解的符號的,也就是我們人類使用的語言。

人類的語言有太多了,因而表示這些語言的符號太多。

我們無法用計算機中乙個基本的儲存單元—— byte 來表示。

因而必須要經過拆分或一些翻譯工作,才能讓計算機能理解。

我們可以把計算機能夠理解的語言假定為英語,其它語言要能夠在計算機中使用必須經過一次翻譯,把它翻譯成英語。

這個翻譯的過程就是編碼。

所以可以想象只要不是說英語的國家要能夠使用計算機就必須要經過編碼。

常見的編碼有以下幾種:

1. unicode(unicode character set)

unicode包含除鍵盤以外的編碼是unicode,又稱統一碼、萬國碼、單一碼、標準萬國碼。

unicode在js、json裡出現的比較多。

其格式為:\u+4位字串\  

例如:\u4e2d\   \u4e2d\   

2. ascii

美國資訊交換標準**,標準ascii 碼也叫基礎ascii碼。

使用7位二進位制數(剩下的1位二進位制為0)來表示所有的大寫和小寫字母,數字0—9、標點符號以及在美式英語中使用的特殊控制字元。

3. url編碼

url編碼原理是使用安全的字元(沒有特殊用途或者特殊意義的可列印字元)去表示那些不安全的字元。

可以避免url中有些字元會引起歧義。

uri編碼就是乙個字元的ascii碼,它的acsii碼的十六進製制式,在前面加上"%",就是它的url編碼。

例如:"/"的ascii碼是92,92的十六進製制是5c, 所以"/"的uri編碼就是 %5c

"胡"的ascii碼是-17670, 它的十六進製制是bafa, 所以它的uri編碼就是 "%ba%fa"

4. native編碼

每個國家都有自己的native編碼,中國的是gbk(chinese internal code specification)。

gbk編碼,是在gb2312-80標準基礎上的內碼擴充套件規範,使用了雙位元組編碼方案,其編碼範圍從8140至fefe(剔除xx7f),共23940個碼位。

gbk編碼共收錄了21003個漢字,完全相容gb2312-80標準,支援國際標準iso/iec10646-1和國家標準gb13000-1中的全部中日韓漢字,幷包含了big5編碼中的所有漢字。

5. hex編碼

hex編碼的原理就是將原來8位的二進位制位元組打斷,分成兩個4位的,並且在前面加上4個零,進行補位。

這樣乙個8位二進位制位元組就變成了2個8位的二進位制位元組,再將新得到的2個二進位制字元,進行16位進製轉換,得到的新的16位字串就是hex的值。

所以二進位制的[72, 69, 88]與hex的484558是相等的。

例如:中國——e4b8ade59bbd

6. base64編碼

base64要求把每三個8bit的位元組轉換為四個6bit的位元組(3*8 = 4*6 = 24),然後把6bit再添兩位高位0,組成四個8bit的位元組。

也就是說,轉換後的字串理論上將要比原來的長1/3。

作者簡介

前嗅,企業級大資料**商,多年來致力於大資料技術研究與開發,自主研發了一套資料採集、挖掘、清洗、分析及視覺化的資料處理系統,擁有上萬家企業使用者。熱衷於為大家解決各種資料問題,服務號「前嗅」,微博「@前嗅大資料」,歡迎關注。

幾種常見編碼的簡單介紹

utf 8 用的比較多的編碼,它包含世界所有國家需要用到的符 可能會有特殊的漢字沒有包含在內 但占用空間大,速度慢,是不定長編碼,自帶簡單的校驗功能,相容iso8859 1,也可以用來表示所有語言的字元。ascii 乙個七位的容器,主要用來顯示現代英語和其它西歐語言,最通用的單位元組編碼系統。gbk...

幾種常見的編碼格式

計算機中儲存資訊的最小單元是乙個位元組,即8個bit,所以能表示的字元範圍是0 255個 人類要表示的符號太多,無法用乙個位元組來完全表示 要解決這個矛盾必須要有乙個新的資料結構char,從char到byte必須編碼。目前常用的編碼方式有ascii iso8859 1 gb2312 gbk utf ...

字元常見的幾種編碼方式

分類 jsp溫故而知新 2013 12 05 11 19 906人閱讀 收藏 舉報 無論在是在編輯文字檔案的時候,還是在製作網頁的時候,總會遇到文字編碼方式的問題。如果處理不當,就會出現亂碼的問題。因此,有必要對文字的編碼方式做乙個詳盡的了解。常見的一些字元編碼方式無非有 unicode ascii...