GBK UTF-8 ASCLL URL编码
GBK编码
码位分配及顺序
GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。
全部编码分为三大部分:
1. 汉字区。包括:
a. GB 2312 汉字区。即 GBK/2: B0A1-F7FE。收录 GB 2312 汉字 6763 个,按原顺序排列。
b. GB 13000.1 扩充汉字区。包括:
(1) GBK/3: 8140-A0FE。收录 GB 13000.1 中的 CJK 汉字 6080 个。
(2) GBK/4: AA40-FEA0。收录 CJK 汉字和增补的汉字 8160 个。CJK 汉字在前,按 UCS 代码大小排列;增补的汉字(包括部首和构件)在后,按《康熙字典》的页码/字位排列。
(3) 汉字“〇”安排在图形符号区GBK/5:A996。2. 图形符号区。包括:
a. GB 2312 非汉字符号区。即 GBK/1: A1A1-A9FE。其中除 GB 2312 的符号外,还有 10 个小写罗马数字和 GB 12345 增补的符号。计符号 717 个。
b. GB 13000.1 扩充非汉字区。即 GBK/5: A840-A9A0。BIG-5 非汉字符号、结构符和“〇”排列在此区。计符号 166 个。3. 用户自定义区:分为(1)(2)(3)三个小区。
(1) AAA1-AFFE,码位 564 个。
(2) F8A1-FEFE,码位 658 个。
(3) A140-A7A0,码位 672 个。
第(3)区尽管对用户开放,但限制使用,因为不排除未来在此区域增补新字符的可能性。
字形
GBK 对字形作了如下的规定:
1. 原则上与 GB 13000.1 G列(即源自中国大陆法定标准的汉字)下的字形/笔形保持一致。
2. 在 CJK 汉字认同规则的总框架内,对所有的 GBK 编码汉字实施“无重码正形”(“GB 化”);即在不造成重码的前提下,尽量采用中国新字形。
3. 对于超出 CJK 汉字认同规则的、或认同规则尚未明确规定的汉字,在 GBK 码位上暂安放旧字形。这样,在许多情况下 GBK 收入了同一汉字的新旧两种字形。
4. 非汉字符号的字形,凡 GB 2312 已经包括的,与 GB 2312 保持一致;超出 GB 2312 的部分,与 GB 13000.1 保持一致。
5. 带声调的拼音字母取半角形式。
UTF-8
编码字节数
UTF-8使用1~4字节为每个字符编码:
·一个US-ASCIl字符只需1字节编码(Unicode范围由U+0000~U+007F)。
·带有变音符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文等字母则需要2字节编码(Unicode范围由U+0080~U+07FF)。
·其他语言的字符(包括中日韩文字、东南亚文字、中东文字等)包含了大部分常用字,使用3字节编码。
·其他极少使用的语言字符使用4字节编码。
字符集
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。
ASCLL
表达方式
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符 [1] 。其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响 。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1 [1] 。
后128个称为扩展ASCII码。许多基于的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
标准表
ASCII码表部分如下所示:
Bin (二进制) |
Oct (八进制) |
Dec (十进制) |
Hex (十六进制) |
缩写/字符 |
解释 |
0000 0000 |
00 |
0 |
0x00 |
NUL(null) |
空字符 |
0000 0001 |
01 |
1 |
0x01 |
SOH(start of headline) |
标题开始 |
0000 0010 |
02 |
2 |
0x02 |
STX (start of text) |
正文开始 |
0000 0011 |
03 |
3 |
0x03 |
ETX (end of text) |
正文结束 |
0000 0100 |
04 |
4 |
0x04 |
EOT (end of transmission) |
传输结束 |
0000 0101 |
05 |
5 |
0x05 |
ENQ (enquiry) |
请求 |
0000 0110 |
06 |
6 |
0x06 |
ACK (acknowledge) |
收到通知 |
0000 0111 |
07 |
7 |
0x07 |
BEL (bell) |
响铃 |
0000 1000 |
010 |
8 |
0x08 |
BS (backspace) |
退格 |
0000 1001 |
011 |
9 |
0x09 |
HT (horizontal tab) |
水平制表符 |
0000 1010 |
012 |
10 |
0x0A |
LF (NL line feed, new line) |
换行键 |
0000 1011 |
013 |
11 |
0x0B |
VT (vertical tab) |
垂直制表符 |
0000 1100 |
014 |
12 |
0x0C |
FF (NP form feed, new page) |
换页键 |
0000 1101 |
015 |
13 |
0x0D |
CR (carriage return) |
回车键 |
0000 1110 |
016 |
14 |
0x0E |
SO (shift out) |
不用切换 |
0000 1111 |
017 |
15 |
0x0F |
SI (shift in) |
启用切换 |
0001 0000 |
020 |
16 |
0x10 |
DLE (data link escape) |
数据链路转义 |
0001 0001 |
021 |
17 |
0x11 |
DC1 (device control 1) |
设备控制1 |
0001 0010 |
022 |
18 |
0x12 |
DC2 (device control 2) |
设备控制2 |
0001 0011 |
023 |
19 |
0x13 |
DC3 (device control 3) |
设备控制3 |
0001 0100 |
024 |
20 |
0x14 |
DC4 (device control 4) |
设备控制4 |
大小规则
常见ASCII码的大小规则:0~9<A~Z<a~z。
1)数字比字母要小。如 “7”<“F”;
2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。
几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48。
URL编码
编码规则
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 |
Ô %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 |
GBK UTF-8 ASCLL URL编码相关推荐
- Unicode、UTF 和 ISO-8859-1等编码方式详解与浏览器URL编码
将字符转换为二进制码的过程,我们称为编码,将二进制码转换为字符的过程,我们称为解码. 编码和解码时所采用的规则,我们称为字符集 常见的字符集: ASCII - 美国人编码,使用7位来对美国常用的字符进 ...
- python3编码和解码_python3的url编码和解码,自定义gbk、utf-8的例子
因为很多时候要涉及到url的编码和解码工作,所以自己制作了一个类,废话不多说 码上见! # coding:utf-8 import urllib.parse class Urlchuli(): &qu ...
- python3默认编码_python3的url编码和解码,自定义gbk、utf-8的例子
因为很多时候要涉及到url的编码和解码工作,所以自己制作了一个类,废话不多说 码上见! # coding:utf-8 import urllib.parse class Urlchuli(): &qu ...
- python 解码gbk_Python3的url编码和解码,自定义gbk、utf-8的例子
今天小编就为大家分享一篇python3的url编码和解码,自定义gbk.utf-8的例子,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 因为很多时候要涉及到url的编码和解码工作,所 ...
- python解码gbk_Python的url编码问题(ansi,utf8,gbk) | C/C++程序员之家
Python的url编码问题(ansi,utf8,gbk). urllib包提供了对url的编码和解码,示例如下: >>> import urllib >>> da ...
- URL编码及其其他编码问题
目录 URL编码 ASCII与拓展的ASCII 显然,有些ASCII可打印字符必须编码才能传输 抓包查看URL编码后的数据 unicode编码.utf-8编码.UCS.UTF ANSI.gb系列.Bi ...
- URL编码以及GET和POST提交乱码解决方案
2019独角兽企业重金招聘Python工程师标准>>> 1. 什么是URL编码. URL编码是一种浏览器用来打包表单输入的格式,浏览器从表单中获取所有的name和其对应的value ...
- java中http解析url,java url 编码(解析http请求汉语言地址 )
java url 编码(解析http请求中文地址 ) 在近在做项目的过程中,由于客户那边服务器上提供的有很多中文结构目录.请求要的地址不能正常运行显示出来.下面来分享一下我对http协议处理请求中文的 ...
- url编码混乱下下载工具如何应对
近来实现了一个Http file server,发现不同浏览器下载文件时url采用的编码是不同的. -------------------------------------------------- ...
最新文章
- Python中如何使用构造方法定义类
- uboot给内核传参的方式——tag
- JavaScript + Thymeleaf + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十八)模板脚本
- windbg学习.formats--转换成各种进制
- 调用支付宝PHP接口API实现在线即时支付功能(UTF-8编码)
- gwt-2.8.2下载_GWT 2 Spring 3 JPA 2 Hibernate 3.5教程– Eclipse和Maven 2展示
- linux mrtg 命令,linux服务器之流量监控(MRTG)
- 一台机器起多个filebeat_机器人开发 | TechX 2020
- Web 开发的 JavaScript 框架资料收集(15款)
- css居中对齐的几种方式
- Vue基础案例-----Todos(1)
- 海量大数据地图可视化
- udacity深度学习--2. 深度学习简介--LESSON5 Jupyter notebook
- Publish/SubScribe(发布/订阅)模式
- 分组传送网——LTE/QoS/保护/时钟同步
- Cortex-M3内核学习(一)
- fidder classic 界面介绍
- Vue.js is detected on this page. Devtools inspection is not available becaus...的解决方法
- 基于Linux的C++轻量级web服务器/webserver/httpserver——MySQL数据库的使用
- 什么是soc?SOC与MCU的区别是什么?