ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GBK UTF-8 ASCLL url编码集合

2021-11-29 20:02:00  阅读:350  来源: 互联网

标签:编码 UTF url GBK 大写字母 小写字母 ISO xBF ASCII


目录

GBK

基本含义:

GBK 编码标准:

UTF-8

字符集

ASCLL

ASCII 字符集

ASCII 可打印的字符

ASCII 设备控制字符

 URL编码

编码规则

编码表


GBK

GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。2000年已被GB18030-2000《信息交换用 汉字编码字符集 基本集的扩充》国家强制标准替代。 2005年GB18030-2005发布,替代了GB18030-2000。

基本含义:

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)。

GBK编码,是在GB2312-80标准基础上的内码扩展规范,使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。GBK编码方案于1995年10月制定, 1995年12月正式发布,中文版的WIN95、WIN98、WINDOWS NT以及WINDOWS 2000、WINDOWS XP、WIN 7等都支持GBK编码方案。

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)。
    

  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。

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

UTF-8

UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。因此,它逐渐成为电子邮件网页及其他存储或传送文字的应用中,优先采用的编码。

 

UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则很简单,只有二条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
 

字符集

UTF-8编码规则:如果只有一个字节则取值为\x00-\x7F。其余字节按长度进行以下拓展:

UTF-8由4种编码方式实现,即UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4 [2] 。其中:

UTF8, 16进制编码表

UTF8-1

\x00-\x7F

UTF8-2

\xC2-\xDF \x80-\xBF

UTF8-3

\xE0 \xA0-\xBF \x80-\xBF

\xE1-\xEC \x80-\xBF \x80-\xBF

\xED \x80-\x9F \x80-\xBF

\xEE-\xEF \x80-\xBF \x80-\xBF

UTF8-4

\xF0 \x90-\xBF \x80-\xBF \x80-\xBF

\xF1-\xF3 \x80-\xBF \x80-\xBF \x80-\xBF

\xF4 \x80-\x8F \x80-\xBF \x80-\xBF

注:每种编码可能有多个编码范围,每个编码范围间,以空格作为每个字节的分隔符。例如UTF8-3的第一个编码,其第一个字节取值必须为\xE0,第二个字节范围为\xA0-\xBF,第三个字节为\x80-\xBF。

下表总结了编码规则,字母x表示可用编码的位。

Unicode符号范围 | UTF-8编码方式
(十六进制) | (二进制)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

下面,以汉字“严”为例,演示如何实现UTF-8编码。

已知“严”的unicode是4E25(100111000100101),根据上表,可以发现4E25处在第三行的范围内(0000 0800-0000 FFFF),因此“严”的UTF-8编码需要三个字节,即格式是“1110xxxx 10xxxxxx 10xxxxxx”。然后,从“严”的最后一个二进制位开始,依次从后向前填入格式中的x,多出的位补0。这样就得到了,“严”的UTF-8编码是“11100100 10111000 10100101”,转换成十六进制就是E4B8A5。

ASCLL

ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。

ASCII 字符集

ASCII ,它的全称是"美国信息交换标准代码"。它设计于60年代早期,是计算机和诸如打印机、磁带驱动器之类的硬件设备的标准字符集。

ASCII 是 7 比特字符集,包含了 128 个不同的字符值。

ASCII 支持 0-9 的数字,A-Z大写和小写英文字母,以及一些特殊字符。

被广泛使用于现代计算机、HTML和因特网上的字符集都是基于 ASCII 。

以下表格列举了128个 ASCII 字符以及对应的 HTML 实体编码。

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)

 URL编码

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

theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes

 

编码规则

URL编码遵循下列规则: 每对name/value由&;符分开;每对来自表单的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

标签:编码,UTF,url,GBK,大写字母,小写字母,ISO,xBF,ASCII
来源: https://blog.csdn.net/a2788656708/article/details/121617240

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有