转载

http://www.cnblogs.com/yangyxd/articles/4778483.html
字符集

ANSI (ASCII)
美国信息互换标准编码

GB 2312
信息交换用汉字编码字符集

GBK
Chinese Internal Code Specification

GB18030
信息交换用汉字编码字符集基本集的扩充

UTF-8
万国码

UTF-16
(ISO/IEC 10646-1、UCS-2) 
通用字符集

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码的相应码)。

双字节字符
首字节码从0x81至0xFE,尾字节码位分别是0x40至0x7E和0x80至0xFE。

四字节字符:
采用GB/T 11383未采用的0x30到0x39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为0x81308130到0xFE39FE39。其中第一、三个字节编码码位均为0x81至0xFE,第二、四个字节编码码位均为0x30至0x39。

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] 常用字符集简介的更多相关文章

  1. Delphi 常用API 函数

    Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...

  2. Delphi 常用API 函数列表

    Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWi ...

  3. Sublime 常用插件简介

    Sublime   常用插件简介 emmet: 前端必备神器.花个十几分钟学下Emmet语法 ,就可以极大提高web开发者HTML和CSS工作效率啦.一句话,牛逼---必备 CSS3: CSS3语法高 ...

  4. SpringBoot常用配置简介

    SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories # Bootstrap components org.springf ...

  5. Delphi常用系统函数总结

    Delphi常用系统函数总结 字符串处理函数 Unit System 函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S : ...

  6. (转载)delphi 常用函数(数学)

    delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math.trunc 和 round 是 system ...

  7. 依赖注入及AOP简述(十)——Web开发中常用Scope简介 .

    1.2.    Web开发中常用Scope简介 这里主要介绍基于Servlet的Web开发中常用的Scope. l        第一个比较常用的就是Application级Scope,通常我们会将一 ...

  8. Redis API与常用数据类型简介

    Redis API与常用数据类型简介 一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些 ...

  9. Delphi 常用函数(数学函数)round、trunc、ceil和floor

    源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...

随机推荐

  1. [java] 模拟QPS

    在WEB服务器端,每日的访问量巨大.在非生产环境需要对服务器进行压力测试,一般使用后台线程和Sleep方式来模拟线上的压力.这里使用ScheduledExecutorService实现一种简单的QPS ...

  2. synchronized-异常

    对于web应用程序,异常释放锁的情况,很可能对你的应用程序业务逻辑产生必要严重的错误,比如:执行某个队列任务,很多对象都会去等待第一个对象正常执行的结果返回再次去释放锁,那么其中摸个对象发生执行异常了 ...

  3. [转]SQL Server 2005 Integration Services (SSIS) (3) - Business Intelligence Development Studio

    本文转自:http://blog.csdn.net/me_online/article/details/1546281 三,SQL Server Integration Services 开发环境– ...

  4. Storm常见模式——分布式RPC

    Storm常见模式——分布式RPC 本文翻译自:https://github.com/nathanmarz/storm/wiki/Distributed-RPC,作为学习Storm DRPC的资料,转 ...

  5. tomcat下配置https环境(windows环境)

    在网上搜了一下,内容不是很完善.现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin目录 (2)输入如下指令“keytool -v -genkey -alias tomcat -ke ...

  6. LightOJ - 1265 Island of Survival 期望

    题目大意:有一个生存游戏,里面t仅仅老虎,d仅仅鹿,另一个人,每天都要有两个生物碰面,如今有下面规则 1.老虎和老虎碰面.两仅仅老虎就会同归于尽 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 3.人 ...

  7. CentOS7 下安装 Lnmp 架设 Laravel

    最近在hostos上买了个香港的 vps, 装的 centos7, 在架设了 pptp vpn, 效果还行,就想顺便架设个 laravel 看看.下面是架设的过程.准备工作 更新 yum 源,自带的源 ...

  8. Spring框架学习(1)Spring简介

    内容源自:Spring 框架简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序 ...

  9. 阿里巴巴Android开发手册(规约)

    阿里巴巴Android开发手册(规约) 学习了:https://www.cnblogs.com/jb2011/p/8487889.html  这个猛 https://blog.csdn.net/ali ...

  10. 几个免费的DNS地址

    百度CDN 180.76.76.76 114.114.114.114 阿里CDN 223.5.5.5 223.6.6.6 googleCDN 8.8.8.8 国内外DNSserver地址列表 http ...