ascll 和gbk,utf-8的简介
編碼(信息交換標準代碼)
??? 編碼的由來:
??? 在計算機中,所有的數(shù)據(jù)在存儲和運算時都要使用二進制數(shù)表示(因為計算機用高電平和低電平分別表示 1 和 0 )。
??? 例如,像 a、b、c、d 這樣的 52 個字母(包括大寫)以及 0、1 等數(shù)字還有一些常用的符號(例如*、#、@等)在計算機中存儲時也要使用二進制數(shù)來表示。
??? 具體用哪些二進制數(shù)字表示哪個對應(yīng)的符號,每個人都可以約定自己的一套(這就叫編碼)。而大家如果要想互相通信而不造成混亂,那么大家就必須使用相同的編碼規(guī)則。
編碼格式的介紹:
ASCII碼:
??? 它用 7 個二進制位來表示,由于那個時期生產(chǎn)的大多數(shù)計算機使用 8 位大小的字節(jié),因此用戶不僅可以存放所有 可能的ASCII字符,而且有整整一位空余下來。如果你技藝高超,可以將該位用做自己離奇的目的。
??? ASCII第一次以規(guī)范標準的類型發(fā)表是在 1967年,最后一次更新則是在 1986年,到目前為止共定義了 128個字符。
??? 作用: 表語英語及西歐語言。
??? 位數(shù): ASCII是用 7位表示的,能表示 128個 字符;其擴展使用 8位表示,表示 256個字符。
??? 范圍: ASCII從00到7F,擴展從00到FF。
??? 一個英文字母(不分大小寫)占一個字節(jié)的空間,一個中文漢字占兩個字節(jié)的空間。
ASCII 可打印的字符
字符?? ?編號?? ?描述
?? ?32?? ?空格(space)
!?? ?33?? ?感嘆號(exclamation mark)
"?? ?34?? ?引號(quotation mark)
#?? ?35?? ?數(shù)字符號(number sign)
$?? ?36?? ?美元符號(dollar sign)
%?? ?37?? ?百分比符號(percent sign)
&?? ?38?? ?& 符號(ampersand)
'?? ?39?? ?撇號(apostrophe)
(?? ?40?? ?左括號(left parenthesis)
)?? ?41?? ?右括號(right parenthesis)
*?? ?42?? ?星號(asterisk)
+?? ?43?? ?加號(plus sign)
,?? ?44?? ?逗號(comma)
-?? ?45?? ?連字符(hyphen)
.?? ?46?? ?句號(period)
/?? ?47?? ?斜線(slash)
0?? ?48?? ?數(shù)字 0
1?? ?49?? ?數(shù)字 1
2?? ?50?? ?數(shù)字 2
3?? ?51?? ?數(shù)字 3
4?? ?52?? ?數(shù)字 4
5?? ?53?? ?數(shù)字 5
6?? ?54?? ?數(shù)字 6
7?? ?55?? ?數(shù)字 7
8?? ?56?? ?數(shù)字 8
9?? ?57?? ?數(shù)字 9
:?? ?58?? ?冒號(colon)
;?? ?59?? ?分號(semicolon)
<?? ?60?? ?小于號(less-than)
=?? ?61?? ?等于號(equals-to)
>?? ?62?? ?大于號(greater-than)
??? ?63?? ?問號(question mark)
@?? ?64?? ?@ 符號(at sign)
A?? ?65?? ?大寫字母 A
B?? ?66?? ?大寫字母 B
C?? ?67?? ?大寫字母 C
D?? ?68?? ?大寫字母 D
E?? ?69?? ?大寫字母 E
F?? ?70?? ?大寫字母 F
G?? ?71?? ?大寫字母 G
H?? ?72?? ?大寫字母 H
I?? ?73?? ?大寫字母 I
J?? ?74?? ?大寫字母 J
K?? ?75?? ?大寫字母 K
L?? ?76?? ?大寫字母 L
M?? ?77?? ?大寫字母 M
N?? ?78?? ?大寫字母 N
O?? ?79?? ?大寫字母 O
P?? ?80?? ?大寫字母 P
Q?? ?81?? ?大寫字母 Q
R?? ?82?? ?大寫字母 R
S?? ?83?? ?大寫字母 S
T?? ?84?? ?大寫字母 T
U?? ?85?? ?大寫字母 U
V?? ?86?? ?大寫字母 V
W?? ?87?? ?大寫字母 W
X?? ?88?? ?大寫字母 X
Y?? ?89?? ?大寫字母 Y
Z?? ?90?? ?大寫字母 Z
[?? ?91?? ?左方括號(left square bracket)
\?? ?92?? ?反斜線(backslash)
]?? ?93?? ?右方括號(right square bracket)
^?? ?94?? ?插入符號(caret)
_?? ?95?? ?下劃線(underscore)
`?? ?96?? ?重音符(grave accent)
a?? ?97?? ?小寫字母 a
b?? ?98?? ?小寫字母 b
c?? ?99?? ?小寫字母 c
d?? ?100?? ?小寫字母 d
e?? ?101?? ?小寫字母 e
f?? ?102?? ?小寫字母 f
g?? ?103?? ?小寫字母 g
h?? ?104?? ?小寫字母 h
i?? ?105?? ?小寫字母 i
j?? ?106?? ?小寫字母 j
k?? ?107?? ?小寫字母 k
l?? ?108?? ?小寫字母 l
m?? ?109?? ?小寫字母 m
n?? ?110?? ?小寫字母 n
o?? ?111?? ?小寫字母 o
p?? ?112?? ?小寫字母 p
q?? ?113?? ?小寫字母 q
r?? ?114?? ?小寫字母 r
s?? ?115?? ?小寫字母 s
t?? ?116?? ?小寫字母 t
u?? ?117?? ?小寫字母 u
v?? ?118?? ?小寫字母 v
w?? ?119?? ?小寫字母 w
x?? ?120?? ?小寫字母 x
y?? ?121?? ?小寫字母 y
z?? ?122?? ?小寫字母 z
{?? ?123?? ?左花括號(left curly brace)
|?? ?124?? ?豎線(vertical bar)
}?? ?125?? ?右花括號(right curly brace)
~?? ?126?? ?波浪線(tilde)
ASCII 設(shè)備控制字符
ASCII 控制字符(00-31,加上 127)最初被設(shè)計用來控制諸如打印機和磁帶驅(qū)動器之類的硬件設(shè)備。
控制字符(除了水平制表符、換行、回車之外)在 HTML 文檔中不起任何作用。
字符?? ?編號?? ?描述
NUL?? ?00?? ?空字符(null character)
SOH?? ?01?? ?標題開始(start of header)
STX?? ?02?? ?正文開始(start of text)
ETX?? ?03?? ?正文結(jié)束(end of text)
EOT?? ?04?? ?傳輸結(jié)束(end of transmission)
ENQ?? ?05?? ?請求(enquiry)
ACK?? ?06?? ?收到通知/響應(yīng)(acknowledge)
BEL?? ?07?? ?響鈴(bell)
BS?? ?08?? ?退格(backspace)
HT?? ?09?? ?水平制表符(horizontal tab)
LF?? ?10?? ?換行(line feed)
VT?? ?11?? ?垂直制表符(vertical tab)
FF?? ?12?? ?換頁(form feed)
CR?? ?13?? ?回車(carriage return)
SO?? ?14?? ?不用切換(shift out)
SI?? ?15?? ?啟用切換(shift in)
DLE?? ?16?? ?數(shù)據(jù)鏈路轉(zhuǎn)義(data link escape)
DC1?? ?17?? ?設(shè)備控制 1(device control 1)
DC2?? ?18?? ?設(shè)備控制 2(device control 2)
DC3?? ?19?? ?設(shè)備控制 3(device control 3)
DC4?? ?20?? ?設(shè)備控制 4(device control 4)
NAK?? ?21?? ?拒絕接收/無響應(yīng)(negative acknowledge)
SYN?? ?22?? ?同步空閑(synchronize)
ETB?? ?23?? ?傳輸塊結(jié)束(end transmission block)
CAN?? ?24?? ?取消(cancel)
EM?? ?25?? ?已到介質(zhì)末端/介質(zhì)存儲已滿(end of medium)
SUB?? ?26?? ?替補/替換(substitute)
ESC?? ?27?? ?溢出/逃離/取消(escape)
FS?? ?28?? ?文件分隔符(file separator)
GS?? ?29?? ?組分隔符(group separator)
RS?? ?30?? ?記錄分隔符(record separator)
US?? ?31?? ?單元分隔符(unit separator)
DEL?? ?127?? ?刪除(delete)
UTF-8:
UTF:UCS Transformation Format.考慮到 unicode編碼不兼容iso8859-1編碼,而且容易占用更多的空間。
因為對于英文字母,unicode也需要兩個字節(jié)來表 示。所以unicode不便于傳輸和存儲。因此而產(chǎn)生了utf編碼。
注意,雖然說utf是為了使用更少的空間而使用的,但那只是相對于unicode編碼來說,如果已經(jīng)知道是漢字,則使用GB2312/GBK無疑是 最節(jié)省的。
不過另一方面,值得說明的是,雖然 utf編碼對漢字使用3個字節(jié),但 即使對于漢字網(wǎng)頁,utf編碼也會比 unicode編碼節(jié)省,因為網(wǎng)頁中包 含了很多的英文字符。
作用:unicode不便于傳輸和存儲。utf 英文字節(jié)少便于傳輸。滿足萬惡的資本主義
位數(shù):8位
范圍:兼容iso8859-1編碼,用來表示所有語言的字符
英文 占用一個字節(jié),中文占用三個字節(jié)
UTF8編碼后的大小是不一定,例如 一個英文字母"a" 和 一個漢字 “好”,編碼后占用的空間大小就不樣了,前者是一個字節(jié),后者是三個字節(jié)!編碼的方法是從低位到高位。黃色為標志位其它著色為了顯示其,編碼后的位置。
UTF-8編碼規(guī)則: 如果只有一個字節(jié)則其最高二進制位為0;如果是多字節(jié),其第一個字節(jié)從最高位開始,連續(xù)的二進制位值為1的個數(shù)決定了其編碼的字節(jié)數(shù),其余各字節(jié)均以10開頭。UTF-8轉(zhuǎn)換表表示如下:
?
GBK 編碼標準:
《漢字內(nèi)碼擴展規(guī)范》(GBK) 于1995年制定
??????? 兼容GB2312、GB13000-1、BIG5 編碼中的所有漢字,使用雙字節(jié)編碼
??????? 編碼空間為 0x8140~0xFEFE,共有 23940 個碼位,
??????? 其中 GBK1 區(qū)和 GBK2 區(qū)也是 GB2312 的編碼范圍。收錄了 21003 個漢字。
??????? 作用:它是GB2312的擴展,加入對繁體字的支持,兼容GB2312。
??????? 位數(shù): 使用 2個字節(jié)表示,可表示 21886個字符。
??????? 范圍: 高字節(jié)從81到FE,低字節(jié)從40到FE。
??????? 漢子占用兩個字節(jié),英文占用一個字節(jié)
URL編碼
url編碼是一種瀏覽器用來打包表單輸入的格式。瀏覽器從表單中獲取所有的name和具中的值,將它們name/value參數(shù)編碼(移去那些不能傳送的字符,將數(shù)據(jù)排行等等)作為URL的一部分或者分離地發(fā)給服務(wù)器。不管哪種情況,在服務(wù)器端的表單輸入格式樣子象這樣:
編碼規(guī)則:
??? URL編碼遵循下列規(guī)則:每對namelvalue由&;符分開;每對來自表單的name/value由=符分開。如果用戶沒有輸入值給這個name,那么這個name還是出現(xiàn),只是無值。任何特殊的字符(就是那些不是簡單的七位ASCII,如漢字)將以百分符%用十六進制編碼,當然也包括象=,&;,和%這些特殊的字符。其實url編碼就是一個字符ascii碼的十六進制。不過稍微有些變動,需要在前面加上“%”。比如"/",它的ascii碼是92,92的十六進制是5c,所以"的url編碼就是%5c。
編碼表:
backspace %08
?? ?
I %49
?? ?
v %76
?? ?
ó %D3
tab %09
?? ?
J %4A
?? ?
w %77
?? ?
Ô %D4
linefeed %0A
?? ?
K %4B
?? ?
x %78
?? ?
Õ %D5
creturn %0D
?? ?
L %4C
?? ?
y %79
?? ?
Ö %D6
space %20
?? ?
M %4D
?? ?
z %7A
?? ?
Ø %D8
! %21
?? ?
N %4E
?? ?
{ %7B
?? ?
ù %D9
" %22
?? ?
O %4F
?? ?
| %7C
?? ?
ú %DA
# %23
?? ?
P %50
?? ?
} %7D
?? ?
Û %DB
$ %24
?? ?
Q %51
?? ?
~ %7E
?? ?
ü %DC
% %25
?? ?
R %52
?? ?
¢ %A2
?? ?
Y %DD
& %26
?? ?
S %53
?? ?
£ %A3
?? ?
T %DE
' %27
?? ?
T %54
?? ?
¥ %A5
?? ?
ß %DF
( %28
?? ?
U %55
?? ?
| %A6
?? ?
à %E0
) %29
?? ?
V %56
?? ?
§ %A7
?? ?
á %E1
* %2A
?? ?
W %57
?? ?
« %AB
?? ?
a %E2
+ %2B
?? ?
X %58
?? ?
¬ %AC
?? ?
ã %E3
, %2C
?? ?
Y %59
?? ?
ˉ %AD
?? ?
ä %E4
- %2D
?? ?
Z %5A
?? ?
o %B0
?? ?
å %E5
. %2E
?? ?
[ %5B
?? ?
± %B1
?? ?
æ %E6
/ %2F
?? ?
\ %5C
?? ?
a %B2
?? ?
ç %E7
0 %30
?? ?
] %5D
?? ?
, %B4
?? ?
è %E8
1 %31
?? ?
^ %5E
?? ?
μ %B5
?? ?
é %E9
2 %32
?? ?
_ %5F
?? ?
» %BB
?? ?
ê %EA
3 %33
?? ?
` %60
?? ?
¼ %BC
?? ?
ë %EB
4 %34
?? ?
a %61
?? ?
½ %BD
?? ?
ì %EC
5 %35
?? ?
b %62
?? ?
¿ %BF
?? ?
í %ED
6 %36
?? ?
c %63
?? ?
à %C0
?? ?
î %EE
7 %37
?? ?
d %64
?? ?
á %C1
?? ?
ï %EF
8 %38
?? ?
e %65
?? ?
 %C2
?? ?
e %F0
9 %39
?? ?
f %66
?? ?
à %C3
?? ?
ñ %F1
: %3A
?? ?
g %67
?? ?
Ä %C4
?? ?
ò %F2
; %3B
?? ?
h %68
?? ?
Å %C5
?? ?
ó %F3
< %3C
?? ?
i %69
?? ?
Æ %C6
?? ?
ô %F4
= %3D
?? ?
j %6A
?? ?
Ç %C7
?? ?
õ %F5
> %3E
?? ?
k %6B
?? ?
è %C8
?? ?
ö %F6
%3F
?? ?
l %6C
?? ?
é %C9
?? ?
÷ %F7
@ %40
?? ?
m %6D
?? ?
ê %CA
?? ?
ø %F8
A %41
?? ?
n %6E
?? ?
Ë %CB
?? ?
ù %F9
B %42
?? ?
o %6F
?? ?
ì %CC
?? ?
ú %FA
C %43
?? ?
p %70
?? ?
í %CD
?? ?
û %FB
D %44
?? ?
q %71
?? ?
Î %CE
?? ?
ü %FC
E %45
?? ?
r %72
?? ?
Ï %CF
?? ?
y %FD
F %46
?? ?
s %73
?? ?
D %D0
?? ?
t %FE
G %47
?? ?
t %74
?? ?
Ñ %D1
?? ?
ÿ %FF
H %48
?? ?
u %75
?? ?
ò %D2
總結(jié)
以上是生活随笔為你收集整理的ascll 和gbk,utf-8的简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux网络不可达解决方法
- 下一篇: 简述http 和 https区别