ASCLL UTF-8 GBK URL编码

编码(信息交换标准代码)

编码的由来:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示 1 和 0 )。

例如,像 a、b、c、d 这样的 52 个字母(包括大写)以及 0、1 等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示。
具体用哪些二进制数字表示哪个对应的符号,每个人都可以约定自己的一套(这就叫编码)。而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则。

编码格式的介绍:

ASCII码:


它用 7 个二进制位来表示,由于那个时期生产的大多数计算机使用 8 位大小的字节,因此用户不仅可以存放所有 可能的ASCII字符,而且有整整一位空余下来。如果你技艺高超,可以将该位用做自己离奇的目的。

ASCII第一次以规范标准的类型发表是在 1967年,最后一次更新则是在 1986年,到目前为止共定义了 128个字符。

作用: 表语英语及西欧语言。

位数: ASCII是用 7位表示的,能表示 128个 字符;其扩展使用 8位表示,表示 256个字符。

范围: ASCII从00到7F,扩展从00到FF。

一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。

ASCII 可打印的字符

字符编号描述
32空格(space)
!33感叹号(exclamation mark)
"34引号(quotation mark)
#35数字符号(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)
048数字 0
149数字 1
250数字 2
351数字 3
452数字 4
553数字 5
654数字 6
755数字 7
856数字 8
957数字 9
:58冒号(colon)
;59分号(semicolon)
<60小于号(less-than)
=61等于号(equals-to)
>62大于号(greater-than)
?63问号(question mark)
@64@ 符号(at sign)
A65大写字母 A
B66大写字母 B
C67大写字母 C
D68大写字母 D
E69大写字母 E
F70大写字母 F
G71大写字母 G
H72大写字母 H
I73大写字母 I
J74大写字母 J
K75大写字母 K
L76大写字母 L
M77大写字母 M
N78大写字母 N
O79大写字母 O
P80大写字母 P
Q81大写字母 Q
R82大写字母 R
S83大写字母 S
T84大写字母 T
U85大写字母 U
V86大写字母 V
W87大写字母 W
X88大写字母 X
Y89大写字母 Y
Z90大写字母 Z
[91左方括号(left square bracket)
\92反斜线(backslash)
]93右方括号(right square bracket)
^94插入符号(caret)
_95下划线(underscore)
`96重音符(grave accent)
a97小写字母 a
b98小写字母 b
c99小写字母 c
d100小写字母 d
e101小写字母 e
f102小写字母 f
g103小写字母 g
h104小写字母 h
i105小写字母 i
j106小写字母 j
k107小写字母 k
l108小写字母 l
m109小写字母 m
n110小写字母 n
o111小写字母 o
p112小写字母 p
q113小写字母 q
r114小写字母 r
s115小写字母 s
t116小写字母 t
u117小写字母 u
v118小写字母 v
w119小写字母 w
x120小写字母 x
y121小写字母 y
z122小写字母 z
{123左花括号(left curly brace)
|124竖线(vertical bar)
}125右花括号(right curly brace)
~126波浪线(tilde)

ASCII 设备控制字符

ASCII 控制字符(00-31,加上 127)最初被设计用来控制诸如打印机和磁带驱动器之类的硬件设备。

控制字符(除了水平制表符、换行、回车之外)在 HTML 文档中不起任何作用。

字符编号描述
NUL00空字符(null character)
SOH01标题开始(start of header)
STX02正文开始(start of text)
ETX03正文结束(end of text)
EOT04传输结束(end of transmission)
ENQ05请求(enquiry)
ACK06收到通知/响应(acknowledge)
BEL07响铃(bell)
BS08退格(backspace)
HT09水平制表符(horizontal tab)
LF10换行(line feed)
VT11垂直制表符(vertical tab)
FF12换页(form feed)
CR13回车(carriage return)
SO14不用切换(shift out)
SI15启用切换(shift in)
DLE16数据链路转义(data link escape)
DC117设备控制 1(device control 1)
DC218设备控制 2(device control 2)
DC319设备控制 3(device control 3)
DC420设备控制 4(device control 4)
NAK21拒绝接收/无响应(negative acknowledge)
SYN22同步空闲(synchronize)
ETB23传输块结束(end transmission block)
CAN24取消(cancel)
EM25已到介质末端/介质存储已满(end of medium)
SUB26替补/替换(substitute)
ESC27溢出/逃离/取消(escape)
FS28文件分隔符(file separator)
GS29组分隔符(group separator)
RS30记录分隔符(record separator)
US31单元分隔符(unit separator)
DEL127删除(delete)

UTF-8:

UTF:UCS Transformation Format.考虑到 unicode编码不兼容iso8859-1编码,而且容易占用更多的空间。
因为对于英文字母,unicode也需要两个字节来表 示。所以unicode不便于传输和存储。因此而产生了utf编码。

utf编码兼容iso8859-1编码,同时也可以用来表示所有语言的字符,
utf编码是不定长编码,每一个字符的长度从1-6个字节不等。
另外utf编码自带简单的校验功能。一般来讲,英文字母都是用一个字节表示,而汉字 使用三个字节。

注意,虽然说utf是为了使用更少的空间而使用的,但那只是相对于unicode编码来说,如果已经知道是汉字,则使用GB2312/GBK无疑是 最节省的。

不过另一方面,值得说明的是,虽然 utf编码对汉字使用3个字节,但 即使对于汉字网页,utf编码也会比 unicode编码节省,因为网页中包 含了很多的英文字符。

作用:unicode不便于传输和存储。utf 英文字节少便于传输。满足万恶的资本主义

位数:8位

范围:兼容iso8859-1编码,用来表示所有语言的字符

英文 占用一个字节,中文占用三个字节

UTF8编码后的大小是不一定,例如 一个英文字母"a" 和 一个汉字 “好”,编码后占用的空间大小就不样了,前者是一个字节,后者是三个字节!编码的方法是从低位到高位。黄色为标志位其它着色为了显示其,编码后的位置。

UTF-8编码规则: 如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。UTF-8转换表表示如下:

 

GBK 编码标准:


《汉字内码扩展规范》(GBK) 于1995年制定

  • 兼容GB2312、GB13000-1、BIG5 编码中的所有汉字,使用双字节编码
  • 编码空间为 0x8140~0xFEFE,共有 23940 个码位,
  • 其中 GBK1 区和 GBK2 区也是 GB2312 的编码范围。收录了 21003 个汉字。
GBK向下与 GB 2312 编码兼容,向上支持 ISO 10646.1国际标准,是前者向后者过渡过程中的一个承上启下的产物。
  ISO 10646 是国际标准化组织ISO 公布的一个编码标准,即 Universal Multilpe-Octet Coded Character Set(简称UCS)
  大陆译为《通用多八位编码字符集》,台湾译为《广用多八位元编码字元集》,它与 Unicode 组织的Unicode编码完全兼容。
  ISO 10646.1 是该标准的第一部分《体系结构与基本多文种平面》。
  我国 1993 年以 GB 13000.1 国家标准的形式予以认可(即 GB 13000.1 等同于 ISO 10646.1)。
  • 作用:它是GB2312的扩展,加入对繁体字的支持,兼容GB2312。

  • 位数: 使用 2个字节表示,可表示 21886个字符。

  • 范围: 高字节从81到FE,低字节从40到FE。

  • 汉子占用两个字节,英文占用一个字节

URL编码

url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和具中的值,将它们name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。不管哪种情况,在服务器端的表单输入格式样子象这样:

编码规则:

URL编码遵循下列规则:每对namelvalue由&;符分开;每对来自表单的name/value由=符分开。如果用户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括象=,&;,和%这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如"/",它的ascii码是92,92的十六进制是5c,所以"的url编码就是%5c。

编码表:

backspace %08

I %49

v %76

ó %D3

tab %09

J %4A

w %77

&Ocirc; %D4

linefeed %0A

K %4B

x %78

&Otilde; %D5

creturn %0D

L %4C

y %79

&Ouml; %D6

space %20

M %4D

z %7A

&Oslash; %D8

! %21

N %4E

{ %7B

ù %D9

" %22

O %4F

| %7C

ú  %DA

# %23

P %50

} %7D

&Ucirc; %DB

$ %24

Q %51

~ %7E

ü %DC

% %25

R %52

¢ %A2

Y %DD

& %26

S %53

£ %A3

T %DE

' %27

T %54

¥ %A5

&szlig; %DF

( %28

U %55

| %A6

à %E0

) %29

V %56

§ %A7

á %E1

* %2A

W %57

&laquo; %AB

a %E2

+ %2B

X %58

&not; %AC

&atilde; %E3

, %2C

Y %59

ˉ %AD

&auml; %E4

- %2D

Z %5A

o %B0

&aring; %E5

. %2E

[ %5B

± %B1

&aelig; %E6

/ %2F

\ %5C

a %B2

&ccedil; %E7

0 %30

] %5D

, %B4

è %E8

1 %31

^ %5E

μ %B5

é %E9

2 %32

_ %5F

&raquo; %BB

ê %EA

3 %33

` %60

&frac14; %BC

&euml; %EB

4 %34

a %61

&frac12; %BD

ì %EC

5 %35

b %62

&iquest; %BF

í %ED

6 %36

c %63

à %C0

&icirc; %EE

7 %37

d %64

á %C1

&iuml; %EF

8 %38

e %65

&Acirc; %C2

e %F0

9 %39

f %66

&Atilde; %C3

&ntilde; %F1

: %3A

g %67

&Auml; %C4

ò %F2

; %3B

h %68

&Aring; %C5

ó %F3

< %3C

i %69

&AElig; %C6

&ocirc; %F4

= %3D

j %6A

&Ccedil; %C7

&otilde; %F5

> %3E

k %6B

è %C8

&ouml; %F6

%3F

l %6C

é  %C9

÷  %F7

@ %40

m %6D

ê %CA

&oslash; %F8

A %41

n %6E

&Euml; %CB

ù %F9

B %42

o %6F

ì  %CC

ú  %FA

C %43

p %70

í %CD

&ucirc; %FB

D %44

q %71

&Icirc; %CE

ü %FC

E %45

r %72

&Iuml; %CF

y %FD

F %46

s %73

D %D0

t %FE

G %47

t %74

&Ntilde; %D1

&yuml; %FF

H %48

u %75

ò %D2

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值