ascll 和gbk,utf-8的简介
編碼(信息交換標(biāo)準(zhǔn)代碼)
??? 編碼的由來(lái):
??? 在計(jì)算機(jī)中,所有的數(shù)據(jù)在存儲(chǔ)和運(yùn)算時(shí)都要使用二進(jìn)制數(shù)表示(因?yàn)橛?jì)算機(jī)用高電平和低電平分別表示 1 和 0 )。
??? 例如,像 a、b、c、d 這樣的 52 個(gè)字母(包括大寫)以及 0、1 等數(shù)字還有一些常用的符號(hào)(例如*、#、@等)在計(jì)算機(jī)中存儲(chǔ)時(shí)也要使用二進(jìn)制數(shù)來(lái)表示。
??? 具體用哪些二進(jìn)制數(shù)字表示哪個(gè)對(duì)應(yīng)的符號(hào),每個(gè)人都可以約定自己的一套(這就叫編碼)。而大家如果要想互相通信而不造成混亂,那么大家就必須使用相同的編碼規(guī)則。
編碼格式的介紹:
ASCII碼:
??? 它用 7 個(gè)二進(jìn)制位來(lái)表示,由于那個(gè)時(shí)期生產(chǎn)的大多數(shù)計(jì)算機(jī)使用 8 位大小的字節(jié),因此用戶不僅可以存放所有 可能的ASCII字符,而且有整整一位空余下來(lái)。如果你技藝高超,可以將該位用做自己離奇的目的。
??? ASCII第一次以規(guī)范標(biāo)準(zhǔn)的類型發(fā)表是在 1967年,最后一次更新則是在 1986年,到目前為止共定義了 128個(gè)字符。
??? 作用: 表語(yǔ)英語(yǔ)及西歐語(yǔ)言。
??? 位數(shù): ASCII是用 7位表示的,能表示 128個(gè) 字符;其擴(kuò)展使用 8位表示,表示 256個(gè)字符。
??? 范圍: ASCII從00到7F,擴(kuò)展從00到FF。
??? 一個(gè)英文字母(不分大小寫)占一個(gè)字節(jié)的空間,一個(gè)中文漢字占兩個(gè)字節(jié)的空間。
ASCII 可打印的字符
字符?? ?編號(hào)?? ?描述
?? ?32?? ?空格(space)
!?? ?33?? ?感嘆號(hào)(exclamation mark)
"?? ?34?? ?引號(hào)(quotation mark)
#?? ?35?? ?數(shù)字符號(hào)(number sign)
$?? ?36?? ?美元符號(hào)(dollar sign)
%?? ?37?? ?百分比符號(hào)(percent sign)
&?? ?38?? ?& 符號(hào)(ampersand)
'?? ?39?? ?撇號(hào)(apostrophe)
(?? ?40?? ?左括號(hào)(left parenthesis)
)?? ?41?? ?右括號(hào)(right parenthesis)
*?? ?42?? ?星號(hào)(asterisk)
+?? ?43?? ?加號(hào)(plus sign)
,?? ?44?? ?逗號(hào)(comma)
-?? ?45?? ?連字符(hyphen)
.?? ?46?? ?句號(hào)(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?? ?冒號(hào)(colon)
;?? ?59?? ?分號(hào)(semicolon)
<?? ?60?? ?小于號(hào)(less-than)
=?? ?61?? ?等于號(hào)(equals-to)
>?? ?62?? ?大于號(hào)(greater-than)
??? ?63?? ?問(wèn)號(hào)(question mark)
@?? ?64?? ?@ 符號(hào)(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?? ?左方括號(hào)(left square bracket)
\?? ?92?? ?反斜線(backslash)
]?? ?93?? ?右方括號(hào)(right square bracket)
^?? ?94?? ?插入符號(hào)(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?? ?左花括號(hào)(left curly brace)
|?? ?124?? ?豎線(vertical bar)
}?? ?125?? ?右花括號(hào)(right curly brace)
~?? ?126?? ?波浪線(tilde)
ASCII 設(shè)備控制字符
ASCII 控制字符(00-31,加上 127)最初被設(shè)計(jì)用來(lái)控制諸如打印機(jī)和磁帶驅(qū)動(dòng)器之類的硬件設(shè)備。
控制字符(除了水平制表符、換行、回車之外)在 HTML 文檔中不起任何作用。
字符?? ?編號(hào)?? ?描述
NUL?? ?00?? ?空字符(null character)
SOH?? ?01?? ?標(biāo)題開始(start of header)
STX?? ?02?? ?正文開始(start of text)
ETX?? ?03?? ?正文結(jié)束(end of text)
EOT?? ?04?? ?傳輸結(jié)束(end of transmission)
ENQ?? ?05?? ?請(qǐng)求(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?? ?換頁(yè)(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?? ?拒絕接收/無(wú)響應(yīng)(negative acknowledge)
SYN?? ?22?? ?同步空閑(synchronize)
ETB?? ?23?? ?傳輸塊結(jié)束(end transmission block)
CAN?? ?24?? ?取消(cancel)
EM?? ?25?? ?已到介質(zhì)末端/介質(zhì)存儲(chǔ)已滿(end of medium)
SUB?? ?26?? ?替補(bǔ)/替換(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編碼,而且容易占用更多的空間。
因?yàn)閷?duì)于英文字母,unicode也需要兩個(gè)字節(jié)來(lái)表 示。所以u(píng)nicode不便于傳輸和存儲(chǔ)。因此而產(chǎn)生了utf編碼。
注意,雖然說(shuō)utf是為了使用更少的空間而使用的,但那只是相對(duì)于unicode編碼來(lái)說(shuō),如果已經(jīng)知道是漢字,則使用GB2312/GBK無(wú)疑是 最節(jié)省的。
不過(guò)另一方面,值得說(shuō)明的是,雖然 utf編碼對(duì)漢字使用3個(gè)字節(jié),但 即使對(duì)于漢字網(wǎng)頁(yè),utf編碼也會(huì)比 unicode編碼節(jié)省,因?yàn)榫W(wǎng)頁(yè)中包 含了很多的英文字符。
作用:unicode不便于傳輸和存儲(chǔ)。utf 英文字節(jié)少便于傳輸。滿足萬(wàn)惡的資本主義
位數(shù):8位
范圍:兼容iso8859-1編碼,用來(lái)表示所有語(yǔ)言的字符
英文 占用一個(gè)字節(jié),中文占用三個(gè)字節(jié)
UTF8編碼后的大小是不一定,例如 一個(gè)英文字母"a" 和 一個(gè)漢字 “好”,編碼后占用的空間大小就不樣了,前者是一個(gè)字節(jié),后者是三個(gè)字節(jié)!編碼的方法是從低位到高位。黃色為標(biāo)志位其它著色為了顯示其,編碼后的位置。
UTF-8編碼規(guī)則: 如果只有一個(gè)字節(jié)則其最高二進(jìn)制位為0;如果是多字節(jié),其第一個(gè)字節(jié)從最高位開始,連續(xù)的二進(jìn)制位值為1的個(gè)數(shù)決定了其編碼的字節(jié)數(shù),其余各字節(jié)均以10開頭。UTF-8轉(zhuǎn)換表表示如下:
?
GBK 編碼標(biāo)準(zhǔn):
《漢字內(nèi)碼擴(kuò)展規(guī)范》(GBK) 于1995年制定
??????? 兼容GB2312、GB13000-1、BIG5 編碼中的所有漢字,使用雙字節(jié)編碼
??????? 編碼空間為 0x8140~0xFEFE,共有 23940 個(gè)碼位,
??????? 其中 GBK1 區(qū)和 GBK2 區(qū)也是 GB2312 的編碼范圍。收錄了 21003 個(gè)漢字。
??????? 作用:它是GB2312的擴(kuò)展,加入對(duì)繁體字的支持,兼容GB2312。
??????? 位數(shù): 使用 2個(gè)字節(jié)表示,可表示 21886個(gè)字符。
??????? 范圍: 高字節(jié)從81到FE,低字節(jié)從40到FE。
??????? 漢子占用兩個(gè)字節(jié),英文占用一個(gè)字節(jié)
URL編碼
url編碼是一種瀏覽器用來(lái)打包表單輸入的格式。瀏覽器從表單中獲取所有的name和具中的值,將它們name/value參數(shù)編碼(移去那些不能傳送的字符,將數(shù)據(jù)排行等等)作為URL的一部分或者分離地發(fā)給服務(wù)器。不管哪種情況,在服務(wù)器端的表單輸入格式樣子象這樣:
編碼規(guī)則:
??? URL編碼遵循下列規(guī)則:每對(duì)namelvalue由&;符分開;每對(duì)來(lái)自表單的name/value由=符分開。如果用戶沒有輸入值給這個(gè)name,那么這個(gè)name還是出現(xiàn),只是無(wú)值。任何特殊的字符(就是那些不是簡(jiǎn)單的七位ASCII,如漢字)將以百分符%用十六進(jìn)制編碼,當(dāng)然也包括象=,&;,和%這些特殊的字符。其實(shí)url編碼就是一個(gè)字符ascii碼的十六進(jìn)制。不過(guò)稍微有些變動(dòng),需要在前面加上“%”。比如"/",它的ascii碼是92,92的十六進(jìn)制是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的简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux网络不可达解决方法
- 下一篇: 简述http 和 https区别