常用編碼解釋

2022-08-18 09:15:15 字數 1535 閱讀 2811

計算機是美國人發明的,因此,最早只有127個字元被編碼到計算機裡,也就是大小寫英文本母、數字和一些符號,這個編碼表被稱為ascii編碼,比如大寫字母a的編碼是65,小寫字母z的編碼是122。

但是要處理中文顯然乙個位元組是不夠的,至少需要兩個位元組,而且還不能和ascii編碼衝突,所以,中國制定了gb2312編碼,用來把中文編進去。

全世界有上百種語言,日本把日文編到shift_jis裡,南韓把韓文編到euc-kr裡,各國有各國的標準,結果就是,在多語言混合的文字中,顯示出來會有亂碼。

unicode標準也在不斷發展,但最常用的是用兩個位元組表示乙個字元(如果要用到非常偏僻的字元,就需要4個位元組)。現代作業系統和大多數程式語言都直接支援unicode。

現在,捋一捋ascii編碼和unicode編碼的區別:ascii編碼是1個位元組,而unicode編碼通常是2個位元組。

新的問題又出現了:如果統一成unicode編碼,亂碼問題從此消失了。但是,如果你寫的文字基本上全部是英文的話,用unicode編碼比ascii編碼需要多一倍的儲存空間,在儲存和傳輸上就十分不划算。

所以,本著節約的精神,又出現了把unicode編碼轉化為「可變長編碼」的utf-8編碼。utf-8編碼把乙個unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文本母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組。如果你要傳輸的文字包含大量英文本元,用utf-8編碼就能節省空間。

佔位符:

%運算子就是用來格式化字串的。在字串內部,%s表示用字串替換,%d表示用整數替換,有幾個%?佔位符,後面就跟幾個變數或者值,順序要對應好。如果只有乙個%?,括號可以省略。

uriurl 的區別 :

uri 是從虛擬根路徑開始的

url是整個鏈結

如url  

uri 是/question/68016373.html

常用url編碼表

%0a:linefeed(換行),很多手機url編碼後會自動在句末新增%0a,後端會無法識別導致報錯,因此需要把它去掉。

%20:space(空格)

只有

字母:a -> z、a -> z

數字:0 -> 9

特殊符號:$-_.+!*'(),

以及某些保留字,

才可以不經過編碼直接用於 url。

編碼通俗解釋

很久很久以前,有一群人,他們決定用8個可以開合的電晶體來組合成不同的狀態,以表示世界上的萬物。他們看到8個開關狀態是好的,於是他們把這稱為 位元組 再後來,他們又做了一些可以處理這些位元組的機器,機器開動了,可以用位元組來組合出很多狀態,狀態開始變來變去。他們看到這樣是好的,於是它們就這機器稱為 計...

onehot編碼解釋

one hot編碼,又稱為一位有效編碼,主要是採用n位狀態暫存器來對n個狀態進行編碼,每個狀態都由他獨立的暫存器位,並且在任意時候只有一位有效。one hot編碼是分類變數作為二進位制向量的表示。這首先要求將分類值對映到整數值。然後,每個整數值被表示為二進位制向量,除了整數的索引之外,它都是零值,它...

編碼和解碼通俗解釋

在記憶體中,本來沒有字元的概念,每個位元組都是乙個0 255的數字。我們把數字進行編號,每個數字代表乙個字元。追根溯源,以ascii碼為例。比如65 十進位制 定義為字元 a 66定義為 b 61定義為 這就是編碼。然後才有了char型定義,實際上等同於byte,只是使用char型時就知道要表示的是...