转载

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. Windows7下安装与破解IntelliJ IDEA2017(转载)

    IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具( ...

  2. 配置安全证书的Etcd集群

    不知在哪篇技术文档中看到,kubernetes master和etcd分开部署模式,因为集群的状态都保存在etcd中,这样当kubernetes master挂掉后,通过API Server交互的Sc ...

  3. sudoers文件属性的修改导致sudo命令失效

    1.sudoers文件属性为440 -r--r-----. 1 root root 4033 Dec 28 18:57 sudoers 2.如果修改sudoers文件属性,就会导致sudo命令不可用, ...

  4. rootkit后门之安装流程

    1.首先是获得远程服务器的root权限 2.然后下载rootkit程序,本文用到的是mafix (下载前最好把杀毒软件关掉,基本上会报毒的!) 3.开始安装 tar -xvzf mafix.tar.g ...

  5. nmap原理及使用方法

    NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包. 1简介 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断 ...

  6. Android之通知使用权

    通知使用权打开方式 设置--提示音和通知--通知使用权. 具体界面如图: 存在须要拥有通知使用权应用时: 不存在须要拥有通知使用权应用时: 用户为应用勾选复选框后系统弹dialog须要用户进一步确认时 ...

  7. maven工程小红叉处理方法

    搞了个Maven工程在Eclipse上,刚开始说JDK版本不对,编译的时候老报错误,很容易搞明白, 本地JDK版本为1.7.0_79: diamond operator is not supporte ...

  8. C语言面试问题

    内容源自:C语言面试题大汇总 P.S.只摘取了自己觉得可能会被问到的以及不会的. static有什么用途?(请至少说明两种) 1.限制变量的作用域2.设置变量的存储域 引用与指针有什么区别? 1) 引 ...

  9. VLC 源代码结构

    x64 sudo apt-get install -y liblua5.2-dev libmad0-dev libavutil-dev libavcodec-dev libavformat-dev l ...

  10. UISearchbar placeholder 文本和icon居左 iOS7

    在iOS7 下测试了一些方法,发现还是攺变不了文本的居左,最后发现了一个nb的招: _searchBar = [[UISearchBar alloc]initWithFrame:CGRectZero] ...