[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 里 ...
随机推荐
- mongo 实时同步工具 mongosync
文档地址:https://github.com/Qihoo360/mongosync/wiki/%E4%BD%BF%E7%94%A8%E6%A0%B7%E4%BE%8B #数据全量备份mongodum ...
- after、append和appendTo三个函数的区别
jq文档的说明是 1.after函数 定义和用法: after() 方法在被选元素后插入指定的内容. 语法: $(selector).after(content) 实例: <html>&l ...
- ubuntu下cmake自动化编译的一个例子
一个CMakeLists.txt的例子参考:https://www.hahack.com/codes/cmake/https://blog.csdn.net/afei__/article/detail ...
- android APK反编译及代码混淆
反编译.查看源代码,需要用到两个工具:dex2jar 和 jdgui dex2jar(google code) jdgui(google code),最新版本请见 官方 操作很简单,步骤如下: 1.将 ...
- 解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错
解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错 学习了:https://www.cnblogs.com/cnhkzyy/p/9119339.html se ...
- DevExpress 编译成功的 dll
DevExpress 编译成功的 dll 附注册方法 其它的有些文件没有,如: DevExpress.EasyTest 这个程序集找不到 希望有的朋友可以分享一下, 安装程序集 通常,将程序集安装到G ...
- 网页图表控件Highcharts如何详细设置参数
在下载了Highcharts范例之后,按照如下所示第一步第二步操作.在第二步中,默认并没有提供很多参数设置,比如如何去掉右下角的水印,如何自定义图标的高度宽度,背景颜色等等. 在我的另一篇文章中(Hi ...
- .NET Framwork 之 源代码编译成托管代码托管代码合并成程序集
我们都知道,C#程序需要在 .NET Framework 的环境中运行. 一.程序运行所需的三个关键 1.IL(中间语言):编译器编译源代码时生成的代码. 2. Framework类库(Framewo ...
- 算法笔记_071:SPFA算法简单介绍(Java)
目录 1 问题描述 2 解决方案 2.1 具体编码 1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个 ...
- Aeroo Reports Linux server
This article covers installation process for Aeroo reporting engine on Linux servers. If you find th ...