[Delphi] 常用字符集简介
转载
http://www.cnblogs.com/yangyxd/articles/4778483.html
| 字符集 |
ANSI (ASCII) |
GB 2312 |
GBK |
GB18030 信息交换用汉字编码字符集基本集的扩充 |
UTF-8 |
UTF-16 |
BIG5 |
| 英文字符 | 1 字节 | 1 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 |
| 中文字符 | 不支持 | 2 字节 | 2 或 4 字节 | 2 或 4 字节 | 3 ~ 4 字节 | 2 或 4 字节 | 2 字节 |
|
Delphi 2007(及更早) |
AnsiString | AnsiString | AnsiString | AnsiString | AnsiString | WideString | AnsiString |
| Delphi 2009 (大于或等于) |
AnsiString | AnsiString | AnsiString | AnsiString | UTF8String | UnicodeString | AnsiString |
| 表示法 | 7位(bits)表示一个字符,共128字符,字符值从0到127,其中32到126是可打印字符。
ASCII扩展字符集使用8位(bits)表示一个字符,共256字符。 |
EUC-CN
“第一位字节”使用0xB0-0xF7 “第二位字节”使用0xA1-0xFE |
GBK/1:
0xA1A0~0xA9EF(部分) GB2312非汉字符号 GBK/2: 0xB0A0~0xF7FE(部分) GB2312汉字 上面两个是GB2312的扩展,向上兼容; GBK/3: 0x8140~0xA0FE(部分) 扩充汉字 包括繁体 GBK/4: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体 GBK/5: 0xA840~0xA995(部分) 扩充非汉字 |
单字节字符: 0x00至0x7F码(对应于ASCII码的相应码)。 双字节字符: 四字节字符: |
UTF-8使用使用1到6个可变长字节编码UNICODE字符。
每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成, 首字节连续的1的个数表示字符编码所需的字节数。 Unicode转换为UTF-8字节数计算规则: 如果Unicode小于0X80(Ascii字符),则转换后为1个字节。否则转换后的字节数为Unicode二进制位数加3再除以5。 ASCII字母使用1字节,重音文字、希腊字母或西里尔字母等使用2字节来储存,常用的汉字就要使用3字节,辅助平面字符则使用4字节。 |
首256字符保留给ISO 8859-1所定义的字符。
UTF-16的大尾序和小尾序储存形式都在用。一般来说,以Macintosh制作或储存的文字使用大尾序格式,以Microsoft或Linux制作或储存的文字使用小尾序格式。 为了弄清楚UTF-16文件的大小尾序,在UTF-16文件的开首,都会放置一个U+FEFF字符作为Byte Order Mark(UTF-16LE以FF FE代表,UTF-16BE以FE FF代表),以显示这个文字档案是以UTF-16编码,其中U+FEFF字符在UNICODE中代表的意义是ZERO WIDTH NO-BREAK SPACE,顾名思义,它是个没有宽度也没有断字的空白。 |
高位字节: 0xA1-0xF9,
低位字节: 0x40-0x7E及0xA1-0xFE 中文字符编码规则: 第一个字节 从0X81-0XFE,共126种 第二个字节 分别为0X40-0X7E,0XA1-0XFE,共157种 |
| 备注 | 1. 基于罗马字母表的一套电脑编码系统。
2. 它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO 646。 3. ASCII扩展字符集:它是从ASCII字符集扩充出来的,扩充后的符号增加了表格符号、计算符号、希腊字母和特殊的拉丁符号。 |
1. 共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
2. 整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。各区包含的字符如下:01-09区为特殊符号;16-55区为一级汉字,按拼音排序;56-87区为二级汉字,按部首/笔画排序;10-15区及88-94区则未有编码。 3. 把换算成十六进制的区位码加上2020H,就得到国标码。国标码加上8080H,就得到常用的计算机机内码。 |
兼容 GB2312 中的全部汉字和符号。总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间(不包括0x7F)。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。 | 1. 该标准的字符总编码空间超过150万个编码位,收录了27484个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。
2. 与Unicode 3.0版本兼容,填补Unicode扩展字符字汇“统一汉字扩展A”的内容。并且与以前的国家字符编码标准(GB2312,GB13000.1)兼容。 3. GB 18030标准采用单字节、双字节和四字节三种方式对字符编码。 4. 2001年8月31日后在中国市场上发布的软件必须符合本标准。 |
1. Unicode转换为UTF-8时可将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。
2. 非ASCII字符的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成, 首字节连续的1的个数表示字符编码所需的字节数。 3. UTF-32、UTF-16和 UTF-8 是 Unicode 标准的编码字符集的字符编码方案,UTF-16 使用一个或两个未分配的 16 位代码单元的序列对 Unicode 代码点进行编码;UTF-32 即将每一个 Unicode 代码点表示为相同值的 32 位整数。 |
1. 从Unicode 2.0开始,Unicode采用了与ISO 10646-1相同的字库和字码。
2. 在未引入辅助平面字符时,UTF-16与UCS-2所指的是同一的意思。对于小于0x10000的UCS码,UTF-16编码就等于UCS码。 3. UTF-16比起UTF-8,好处在于大部分字符都以固定长度的字节 (2字节) 储存,但UTF-16却无法兼容于ASCII编码。 4. 把Unicode字符集的抽象码位映射为16位长的整数(即码元)的序列,用于数据存储或传递。Unicode字符的码位,需要1个或者2个16位长的码元来表示,因此这是一个变长表示。 |
1. Big5字符集共收录13,053个中文字,该字符集在中国台湾使用。
2. 0xA140-0xA3BF为标点符号、希腊字母及特殊符号。 3. 0xA259-0xA261,存放了双音节度量衡单位用字:兙兛兞兝兡兣嗧瓩糎。 4. 0xA440-0xC67E为常用汉字,先按笔划再按部首排序 5. 0xC940-0xF9D5为次常用汉字,亦是先按笔划再按部首排序。 |
[Delphi] 常用字符集简介的更多相关文章
- Delphi 常用API 函数
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...
- Delphi 常用API 函数列表
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWi ...
- Sublime 常用插件简介
Sublime 常用插件简介 emmet: 前端必备神器.花个十几分钟学下Emmet语法 ,就可以极大提高web开发者HTML和CSS工作效率啦.一句话,牛逼---必备 CSS3: CSS3语法高 ...
- SpringBoot常用配置简介
SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories # Bootstrap components org.springf ...
- Delphi常用系统函数总结
Delphi常用系统函数总结 字符串处理函数 Unit System 函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S : ...
- (转载)delphi 常用函数(数学)
delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math.trunc 和 round 是 system ...
- 依赖注入及AOP简述(十)——Web开发中常用Scope简介 .
1.2. Web开发中常用Scope简介 这里主要介绍基于Servlet的Web开发中常用的Scope. l 第一个比较常用的就是Application级Scope,通常我们会将一 ...
- Redis API与常用数据类型简介
Redis API与常用数据类型简介 一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些 ...
- Delphi 常用函数(数学函数)round、trunc、ceil和floor
源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...
随机推荐
- easyui combobox设置只读属性
$("#id").combobox('readonly',true); //只读 $("#id").combobox('readonly',false); // ...
- [S5PV210 Linux字符驱动之PWM蜂鸣器驱动
在SMDK210.C中添加如下beeper_device 结构体 static struct platform_device beeper_device = { .name = "pwm_b ...
- scrapy-splash抓取动态数据例子七
一.介绍 本例子用scrapy-splash抓取36氪网站给定关键字抓取咨询信息. 给定关键字:个性化:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信 ...
- Helpers.parallel_bulk in Python not working?
Helpers.parallel_bulk in Python not working? 学习了:https://discuss.elastic.co/t/helpers-parallel-bulk- ...
- CocoSourcesCS 3
CocoSourcesCS 3 /*---------------------------------------------------------------------- Compiler Ge ...
- JVM性能监控工具(一)-jdk命令行工具
转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...
- Node.js 向一个文件添加内容
最简方案: fs.appendFile('message.txt', 'data to append', function (err) { }); 参考文档: http://www.codeweblo ...
- 爪哇国新游记之二----用于计算三角形面积的Point类和TAngle类
这次尝试用两个类完成一个面积计算任务: Point类代表平面上的点: public class Point { private float x; private float y; public Poi ...
- 模块化开发RequireJS之路径解析
1.requirejs遵循AMD规范,将需要的都加载好(前置加载).注:cmd是就近加载. define(['jQuery','dialog'],function($,d){ // 业务逻辑 }) ( ...
- 纯css3响应式3d翻转菜单
前端开发whqet,csdn,王海庆,whqet,前端开发专家 周末快乐哈,今天来看一个纯CSS3实现的3d翻转菜单.3d响应式菜单,希望对大家有所帮助. 在线赞赏效果.在线编辑代码,或者下载收藏. ...