- 浏览: 412606 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
锦毛鼠:
嗯!不错哦,先支持一下!
MySQL-Front 5 注册码 -
bolan392:
我公司现在也想用这个工具,对于商业用户所使用的版本在国内该如何 ...
IP端口扫描工具(Tenable Nessus)的简介 -
exe:
如果目录结果不变,ant其实也不需要怎么修改,直接copy。
Maven 和 ANT 的区别 -
wx3957156:
wx3957156 写道灰常好!灰常好!
利用Java生成静态HMTL页面的方法收集 -
wx3957156:
灰常好!灰常好!
利用Java生成静态HMTL页面的方法收集
ASCII字符集编码
ASCII码是7位编码,字符在计算机中以其ASCII码方式表示,其长度为1个字节, 有符号字符型数。编码范围是0x00-0x7F(0~127)。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。
ASCII 十六进制 控制字 代码含义
00 00 NUL 空
01 01 SOH 标题开始
02 02 STX 正文开始
03 03 ETX 正文结束
04 04 EOT 传输结否
05 05 ENQ 询问
06 06 ACK 确认
07 07 BEL 响铃
08 08 BS 退格
09 09 HT 横向列表
10 0A LF 换行
11 0B VT 纵向列表
12 0C FF 换页
13 0D CR 回车
14 0E SO 换档(Shift-Out)
15 0F SI 换档(Shift-In)
16 10 DLE 数据链扩展
17 11 DC1 设备控制1
18 12 DC2 设备控制2
19 13 DC3 设备控制3
20 14 DC4 设备控制4
21 15 NAK 不确认
22 16 SYN 同步字符
23 17 ETB 传输块结否
24 18 CAN 作废
25 19 EM 介质结束
26 1A SUB 置换
27 1B ESC 扩展
28 1C FS 文件分隔符
29 1D GS 组分隔符
30 1E RS 记录分隔符
31 1F US 单位分隔符
ASCII码对照表
ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘
27 ESC 32 SPACE 33 ! 34 "
35 # 36 $ 37 % 38 &
39 ' 40 ( 41 ) 42 *
43 + 44 ' 45 - 46 .
47 / 48 0 49 1 50 2
51 3 52 4 53 5 54 6
55 7 56 8 57 9 58 :
59 ; 60 < 61 = 62 >
63 ? 64 @ 65 A 66 B
67 C 68 D 69 E 70 F
71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N
79 O 80 P 81 Q 82 R
83 S 84 T 85 U 86 V
87 W 88 X 89 Y 90 Z
91 [ 92 \ 93 ] 94 ^
95 _ 96 ` 97 a 98 b
99 c 100 d 101 e 102 f
103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n
111 o 112 p 113 q 114 r
115 s 116 t 117 u 118 v
119 w 120 x 121 y 122 z
123 { 124 | 125 } 126 ~
只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。
GB2312字符集编码
GB2312 是汉字字符集和编码的代号,中文全称为“信息交换用汉字编码字符集”,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。GB 是“国标” 二字的汉语拼音缩写。
GB2312 字符集 (character set) 只收录简化字汉字,以及一般常用字母和符号,主要通行于中国大陆地区和新加坡等地。GB2312 共收录有 7445 个字符,其中简化汉字 6763 个,字母和符号 682 个。
GB2312 将所收录的字符分为 94 个区,编号为 01 区至 94 区;每个区收录 94 个字符,编号为 01 位至 94 位。GB2312 的每一个字符都由与其唯一对应的区号和位号所确定。例如:汉字“啊”,编号为 16 区 01 位。
GB2312 字符集的区位分布表:
区号 字数 字符类别
01 94 一般符号
02 72 顺序号码
03 94 拉丁字母
04 83 日文假名
05 86 Katakana
06 48 希腊字母
07 66 俄文字母
08 63 汉语拼音符号
09 76 图形符号
10-15 备用区
16-55 3755 一级汉字,以拼音为序
56-87 3008 二级汉字,以笔划为序
88-94 备用区
这本手册列出了 GB2312 的全部字符和它们的区位号。
GB2312 编码
GB2312 原始编码 (encoding) 是对所收录的每个字符都用两个字节 (byte) 表示。第一字节为“高字节”,由字符的区号值加上 32 而形成;第二字节为“低字节”,由字符的位号值加上 32 而形成。例如:汉字“啊”,编号为 16 区 01 位。它的高字节为 16 + 32 = 48 (0x30),低字节为 01 + 32 = 33 (0x21),合并而成的编码为 0x3021。
在区位号值上加 32 的原因大慨是为了避开低值字节区间。
由于 GB2312 原始编码与 ASCII 编码的字节有重叠,现在通行的 GB2312 编码是在原始编码的两个字节上各加 128 修改而形成。例如:汉字“啊”,编号为 16 区 01 位。它的原始编码为 0x3021,通行编码为 0xB0A1。
如果不另加说明,GB2312 常指这种修改过的编码。
GB2312的编码范围是0xA1A1-0x7E7E,去掉未定义的区域之后可以理解为实际编码范围是0xA1A1-0xF7FE。
上面这句有误,应该说GB2312的每一个汉字由两个字节构成,其中每一个字节的范围都在0xA1 ~0xFE,正好每一个字节都有94个编码范围,与区位码个数完全对应。
EUC-CN可以理解为GB2312的别名,和GB2312完全相同。
区位码更应该认为是字符集的定义,定义了所收录的字符和字符位置,而GB2312及EUC-CN是实际计算机环境中支持这种字符集的编码。HZ和 ISO-2022-CN是对应区位码字符集的另外两种编码,都是用7位编码空间来支持汉字。区位码和GB2312编码的关系有点像 Unicode和UTF-8。
GBK字符集编码
GBK 编码是GB2312编码的超集,向下完全兼容GB2312,同时GBK收录了Unicode基本多文种平面中的所有CJK汉字。同 GB2312一样,GBK也支持希腊字母、日文假名字母、俄语字母等字符,但不支持韩语中的表音字符(非汉字字符)。GBK还收录了GB2312不包含的汉字部首符号、竖排标点符号等字符。
GBK的整体编码范围是为:高字节范围是0×81-0xFE,低字节范围是0x40-7E和0x80-0xFE,不包括低字节是0×7F的组合。
低字节是0x40-0x7E的GBK字符有一定特殊性,因为这些字符占用了ASCII码的位置,这样会给一些系统带来麻烦。
有些系统中用0x40-0x7E中的字符(如“|”)做特殊符号,在定位这些符号时又没有判断这些符号是不是属于某个 GBK字符的低字节,这样就会造成错误判断。在支持GB2312的环境下就不存在这个问题。需要注意的是支持GBK的环境中小于0x80的某个字节未必就是ASCII符号;另外就是最好选用小于0×40的ASCII符号做一些特殊符号,这样就可以快速定位,且不用担心是某个汉字的另一半。Big5编码中也存在相应问题。
CP936和GBK的有些许差别,绝大多数情况下可以把CP936当作GBK的别名。
GB18030字符集编码
GB18030编码向下兼容GBK和GB2312,兼容的含义是不仅字符兼容,而且相同字符的编码也相同。GB18030收录了所有Unicode3.1中的字符,包括中国少数民族字符,GBK不支持的韩文字符等等,也可以说是世界大多民族的文字符号都被收录在内。
GBK和GB2312都是双字节等宽编码,如果算上和ASCII兼容所支持的单字节,也可以理解为是单字节和双字节混合的变长编码。GB18030编码是变长编码,有单字节、双字节和四字节三种方式。
GB18030 的单字节编码范围是0x00-0x7F,完全等同与ASCII;双字节编码的范围和GBK相同,高字节是0x81-0xFE,低字节的编码范围是0x40 -0x7E和0x80-FE;四字节编码中第一、三字节的编码范围是0x81-0xFE,二、四字节是0x30-0x39。
Windows 中CP936代码页使用0x80来表示欧元符号,而在GB18030编码中没有使用0x80编码位,用其他位置来表示欧元符号。这可以理解为是 GB18030向下兼容性上的一点小问题;也可以理解为0x80是CP936对GBK的扩展,而GB18030只是和GBK兼容良好。
unicode字符集编码
每一种语言的不同的编码页,增加了那些需要支持不同语言的软件的复杂度。因而人们制定了一个世界标准,叫做unicode。unicode为每个字符提供了唯一的特定数值,不论在什么平台上、不论在什么软件中,也不论什么语言。也就是说,它世界上使用的所有字符都列出来,并给每一个字符一个唯一特定数值。
Unicode 的最初目标,是用1个16位的编码来为超过65000字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题 (implantation head-ache's),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来程序16位的数据。
因此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符是以8位序列来编码的,用一个或几个字节来表示一个字符。这种方式的最大好处,是UTF-8保留了ASCII字符的编码做为它的一部分,例如,在UTF-8 和ASCII中,“A”的编码都是0x41.
UTF-16和UTF-32分别是Unicode的16位和32位编码方式。考虑到最初的目的,通常说的Unicode就是指UTF-16。在讨论Unicode时,搞清楚哪种编码方式非常重要。
UTF-8字符集编码
Unicode Transformation Format-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。
GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。
GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:
GBK、GB2312--Unicode--UTF8
UTF8--Unicode--GBK、GB2312
对于一个网站、论坛来说,如果英文字符较多,则建议使用UTF-8节省空间。不过现在很多论坛的插件一般只支持GBK。
发表评论
-
tomcat配置多个端口
2011-11-10 01:52 783http://wenku.baidu.com/view/762 ... -
读取文件方法大全
2010-04-14 09:47 725[Java]读取文件方法 ... -
java Excel 操作例子
2010-03-16 10:43 8211. package excel.jxl; ... -
2种方法遍历HashMap
2010-03-15 17:32 698可以通过2种方法遍历HashMap Map map = ... -
读取Properties文件六种方法
2010-03-12 10:50 6831。使用java.util.Properties类的load( ... -
StringBuffer 与 StringBuilder
2010-03-11 09:50 755StringBuffer 与 StringBuilder 中的 ... -
java的System.getProperty()方法可以获取的值
2010-03-08 17:28 722java的System.getProperty()方法可以获取 ... -
UUID生成随机编号(适用于数字字母混编)
2010-02-21 15:34 1647UUID(Universally Unique Ident ... -
随机产生任意位数的数字编号代码
2010-02-21 15:12 1281随机生成任意位数的编号,适用于各种商品编号。 不知道有没有更 ... -
利用Java生成静态HMTL页面的方法收集
2010-01-11 15:12 1856利用Java 生成静态HMTL ... -
jkmount不转发给TOMCAT处理
2009-12-21 11:01 3092jkmount不转发给TOMCAT处理 在网站开发中 ... -
Java Web开发中你一定会遇到的问题
2009-12-20 12:16 2719Java Web开发中,有许多 ... -
div在IE和火狐中居中处理
2009-12-18 09:34 2232#mainBody{ width: 960p ... -
IE处理含中文Json出错处理
2009-12-17 10:50 1197开发中遇到后台传递的含有中文的JSON数据到FF中没有任何问题 ... -
javascript在IE和firefox里的中文兼容问题
2009-12-06 12:39 1389针对firefox与IE对中文的编码处理不一致,IE总是以IS ... -
解决 Javascript的中文乱码问题
2009-12-06 10:56 729public static String getUTF8Str ... -
java 获得北京当前时间
2009-11-10 11:22 1375java 获得北京当前时间。 ... -
getOutputStream() has already been called for this response异常的原因和解决方法
2009-08-10 16:26 2103getOutputStream() ... -
Javascript 判断日期 格式
2009-08-06 15:24 1137function isValidDate(str) { ... -
Javascript 判断日期 格式
2009-08-06 15:20 782function isValidDate(str) { ...
相关推荐
### JAVA字符编码详解:Unicode, ISO-8859-1, GBK, UTF-8 及其相互转换 #### 一、引言 在Java编程中,字符编码的管理和转换是一项基本而又重要的任务。不同的编码标准适用于不同的场景,而理解和掌握这些编码之间...
尽管GB2312在中文处理中有着广泛的应用,但由于其字符集有限,不能覆盖所有的汉字,因此后来被GBK和GB18030等更广泛的编码标准所取代。 #### 二、编码转换原理 **从UTF-8转换到GB2312:** 将UTF-8编码的文本转换为...
**UTF-8编码**是一种可变长度的字符编码方式,由Ken Thompson提出,支持Unicode标准中的所有字符集。UTF-8编码的优势在于其兼容ASCII码,同时能够高效地表示各种语言的文字,因此被广泛应用于互联网数据传输和存储中...
### 中文转UTF-8编码知识点详解 #### 一、前言 在计算机科学与互联网技术领域中,字符编码是一项非常重要的技术。随着全球化的发展,多语言支持成为了软件开发中的基本需求之一。其中,UTF-8(Unicode ...
英文字符(ASCII字符集)仅需1个字节,而大多数汉字需要3个字节,少数汉字需要4个字节。这种编码方式确保了对ASCII的完全兼容,且在全球范围内具有高度的可读性和互操作性。 **LabVIEW中处理UTF-8的方法:** 1. **...
《豆葵 GB/BIG5/UTF-8 文件编码批量转换工具详解》 在信息技术领域,文件编码是一个重要的概念,不同的编码格式适用于不同的场景,如GBK(兼容GB2312)、BIG5(主要应用于繁体中文)和UTF-8(全球通用的多语言编码...
GBK编码是中国大陆使用的一种汉字编码标准,它是GB2312的扩展,包含更多的汉字和符号,但它是单字节编码,对于非ASCII字符,GBK不能直接与UTF-8或Unicode相兼容。 描述中提到的问题是,云端的数据以Unicode编码...
### Java字符集编码问题详解 #### 一、引言 在Java编程中,字符集编码问题是一个常见且重要的议题。由于不同的系统、平台以及网络环境中可能存在多种字符编码格式,这导致了在处理文本数据时可能会遇到编码不一致...
GB18030是国家标准局发布的另一个编码标准,兼容GBK并进一步扩大了字符集的范围。GB18030标准涵盖了超过27000个汉字,并且支持多字节编码,包括双字节、四字节等多种形式。这意味着GB18030可以覆盖更多的少数民族...
本文将详细介绍常用的字符集编码,包括 ASCII、GB2312、GBK、GB18030、Unicode 和 UTF-8 等。 一、ASCII 码 ASCII 码是 7 位编码,编码范围是 0x00-0x7F。ASCII 字符集包括英文字母、阿拉伯数字和标点符号等字符。...
《GB2312与GBK字符集详解》 在信息技术领域,字符编码是至关重要的一个环节,它决定了计算机如何理解和显示各种文字。GB2312和GBK是中国大陆广泛使用的两个字符编码标准,它们为汉字提供了数字化的表示方式,使得...
《编码规则与用法详解:Unicode、UCS、UTF-8、Base64、ANSI》 在信息技术领域,字符编码是至关重要的,它决定了我们如何在计算机中存储、传输和显示文本。本文将详细介绍几种常见的编码方式,包括Unicode、UCS、UTF...
3. GB系列编码:GBK(Great Wall Kludge,大字符集)是GB2312的扩展,增加了更多的汉字和符号。GB18030进一步扩展了GBK,除了汉字外,还包含了少数民族文字,以满足更多语言需求。这些编码方式通常被视为ANSI编码的...
随着更多汉字和符号的需求,GB2312逐步演变为GBK编码,进一步扩大了字符集,包含约20000个汉字(包括繁体字),并兼容GB2312。GBK仍然使用双字节编码,但扩展了高字节范围,允许更多的编码组合。 尽管GBK解决了大...
本文将深入解析几种常用的字符集编码,包括ASCII、GB2312、GBK、GB18030、Big5以及Unicode及其变种UTF-8、UTF-16、UTF-32,帮助读者理解它们的特点、应用范围及相互之间的转换。 #### ASCII编码 ASCII(American ...
- Sybase ASE支持多种本地字符集,如拉丁、希腊、西里尔等,以及Unicode字符集UTF-8,后者能够表示全球超过650种语言的字符。 2. **什么是排序顺序?** - 排序顺序是与特定字符集关联的规则,用于决定字符的排序...
字符编码详解 字符编码是计算机科学中的一种基础概念,它是指将文字、符号等字符转换为...字符编码是计算机科学中的一种基础概念,常用的字符编码有 ASCII、GB2312、GBK、GB18030 等,每种编码都有其特点和应用场景。
《中文编码转换器详解:Big5、GBK、Unicode与UTF8的互换之道》 在计算机世界里,字符编码是沟通人类语言与机器之间的重要桥梁。本文将详细讲解标题所提及的“中文 Big5/GBK/Unicode/UTF8 内码转换器”这一工具,...