字符集

合集下载

国标字符集

国标字符集

国标字符集
国标字符集(GB2312)是中华人民共和国国家标准化管理委员会于1980年发布的一种字符编码标准,是中国国家标准GB 2312-1980的简称。

它共收录了7445个汉字和682个非汉字字符,包括了基本汉字、扩展汉字和非汉字字符。

国标字符集是为了解决中国汉字电子化处理的问题而设计的。

它采用了双字节表示形式,其中第一个字节的范围为0xA1-0xF7,第二个字节的范围为0xA1-0xFE,共有94x94=8836个编码位置。

但其中部分编码位置并未使用,因此实际上可以表示的字符数量为7445个。

国标字符集的特点是适用于简体中文,每个字符占据两个字节的存储空间,其中除了基本ASCII字符和拉丁文字符外,大部分是汉字。

它是目前在中国大陆仍然广泛使用的字符编码标准之一,尤其在早期的计算机系统和操作系统中得到了广泛应用。

然而,由于国标字符集的容量有限,并不能完全覆盖所有中文字符,因此在后来的发展中逐渐被GB18030和UTF-8等字符集所取代,它们能更好地满足多种语言和字符的需求。

字符集简介

字符集简介

一、什么是字符集?什么是编码?字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。

一组抽象字符的集合就是字符集(Charset)。

字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。

一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。

字符集的子集也是字符集。

计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。

制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。

根据字符集内字符的多少,会确定用几个字节来编码。

每种编码都限定了一个明确的字符集合,叫做被编码过的字符集(Coded Character Set),这是字符集的另外一个含义。

通常所说的字符集大多是这个含义。

二、有哪些字符集?ASCII:American Standard Code for Information Interchange,美国信息交换标准码。

目前计算机中用得最广泛的字符集及其编码,由美国国家标准局(ANSI)制定。

它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。

ASCII字符集由控制字符和图形字符组成。

在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。

所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。

奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1。

偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

ISO 8859-1:ISO 8859,全称ISO/IEC 8859,是国际标准化组织(ISO)及国际电工委员会(IEC)联合制定的一系列8位字符集的标准,现时定义了15个字符集。

汉字编码字符集

汉字编码字符集

汉字编码字符集汉字编码字符集是指用于表示和存储汉字的一套编码系统。

在计算机领域,为了能够准确地表示和处理汉字,人们设计了多种不同的汉字编码字符集。

本文将介绍几种常见的汉字编码字符集,包括GB2312、GBK、Unicode以及UTF-8。

一、GB2312GB2312是中国国家标准局于1980年发布的一种汉字编码字符集,是最早被广泛使用的汉字字符集之一。

GB2312字符集包含了7445个汉字和682个非汉字字符,采用双字节表示每个字符。

其中,第一个字节的范围是0xB0至0xF7,第二个字节的范围是0xA1至0xFE。

GB2312字符集主要适用于简体中文。

二、GBK随着计算机技术的发展和汉字数量的增加,GB2312字符集的容量已经无法满足需求。

为了解决这个问题,国家标准局于1995年发布了GBK字符集,它是对GB2312字符集的扩充和改进。

GBK字符集兼容GB2312字符集,同时加入了21003个汉字,总计包含了21886个汉字。

GBK字符集同样采用双字节表示每个字符,第一个字节的范围是0x81至0xFE,第二个字节的范围是0x40至0xFE。

GBK字符集支持简体中文和繁体中文。

三、UnicodeUnicode是一种国际标准字符集,旨在为全球所有字符提供唯一的编码。

Unicode采用16位的编码方案,可以支持最多65536个不同的字符。

不仅包括了各个国家语言的文字,还包括了数学符号、技术符号、图形符号等。

Unicode字符集为各种语言的文字提供了一个统一的编码标准。

四、UTF-8UTF-8是一种可变长度的Unicode编码方案,更好地解决了存储效率和兼容性的问题。

UTF-8使用1至4个字节来表示一个字符,根据不同的字符而变化。

对于单字节的字符,编码和ASCII码相同,兼容ASCII码。

对于多字节的字符,第一个字节的高位标识了字节数。

UTF-8字符集可以表示Unicode字符集中的所有字符。

在计算机系统中,为了使不同的系统能够正确地处理汉字编码,一般需要统一选择一种字符集来使用。

计算机字符集

计算机字符集
总结词
西欧语言的字符集
详细描述
ISO 8859-1是一种单字节字符集,主要支持西欧语言的字符编码,包括英语 、法语、德语、意大利语、西班牙语等。它是最早的国际标准字符集之一, 广泛应用于网页和文档处理等领域。
Macintosh字符集
总结词
苹果公司开发的字符集
详细描述
Macintosh字符集是苹果公司为Mac OS操作系统开发的一种多字节字符集,支持包括中文、日文、 韩文等东亚语言的字符编码。它使用Unicode编码方案,是现代计算机系统中常用的字符集之一。
UTF-16采用固定长度的编码方式,每个字符的编 码长度为2或4个字节,适合对内存占用要求较高 的场景。
UTF-8是目前使用最广泛的编码方式,它采用可 变长度的编码方式,每个字符的编码长度可以是 1~4个字节,适应了不同语言字符的编码需求。
UTF-32采用固定长度的编码方式,每个字符的编 码长度为4个字节,适合对精度要求较高的场景。
IBM字符集
总结词
IBM公司开发的字符集
详细描述
IBM字符集是IBM公司为自身产品开发的一种多字节字符集,支持包括多种语言字符编码,如英语、法语、德 语、意大利语、西班牙语、中文、日文、韩文等。它广泛应用于IBM公司的软件产品中,也受到其他软件系统 的支持。
THANKS
谢谢您的观看
字符集的分类与特点
单字节字符集
每个字符只占用一个字节,通常用于表示英文字 符和数字。常见的单字节字符集包括ASCII、ISO 8859系列等。
可变长编码字符集
这种字符集的特点是每个字符可以占用不同数量 的字节。UTF-8就是一种可变长编码字符集,它 根据不同的字符使用不同的编码长度。
多字节字符集

计算机字符集

计算机字符集
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
GB2312的编码范围是0xA1A1-0x7E7E,去掉未定义的区域之后可以理解为实际编码范围是0xA1A1-0xF7FE。
上面这句有误,应该说GB2312的每一个汉字由两个字节构成,其中每一个字节的范围都在0xA1~0xFE,正好每一个字节都有94个编码范围,与区位码个数完全对应。
EUC-CN可以理解为GB2312的别名,和GB2312完全相同。
GBK的整体编码范围是为:高字节范围是0×81-0xFE,低字节范围是0x40-7E和0x80-0xFE,不包括低字节是0×7F的组合。

国际标准超大字符集

国际标准超大字符集

国际标准超大字符集国际标准超大字符集(International Standard Super Large Character Set,简称ISSCS)是指一种包含大量字符的标准字符集,用于支持各种语言文字的编码和显示。

随着全球信息交流的日益频繁,各种语言文字的编码和显示需求也越来越迫切,因此国际标准超大字符集的重要性日益凸显。

国际标准超大字符集的制定旨在统一各种语言文字的字符编码,使得不同语言文字之间可以互相兼容、交换和显示。

目前,Unicode是国际上通用的字符编码标准,它包含了超过13万个字符,涵盖了几乎所有已知的语言文字。

Unicode采用了统一的编码方案,为每个字符分配了唯一的编码值,从而实现了不同语言文字之间的互通。

国际标准超大字符集的应用范围非常广泛,涉及到计算机、互联网、移动通信、电子设备等各个领域。

在计算机领域,各种操作系统、编程语言、数据库系统等都已经全面支持Unicode编码,确保了不同语言文字的正确显示和处理。

在互联网领域,各种网页、邮件、即时通讯等应用也都已经普遍采用Unicode编码,实现了全球范围内的信息交流和交换。

国际标准超大字符集的制定和应用对于促进各种语言文字的交流和传播具有重要意义。

它不仅可以消除语言文字障碍,还可以促进不同文化之间的交流和理解。

在全球化背景下,国际标准超大字符集的作用将会越来越重要,为世界各国的信息交流和文化交融提供了重要支撑。

总的来说,国际标准超大字符集的出现和应用,标志着人类文明进入了一个全新的阶段。

它为各种语言文字的编码和显示提供了统一的标准,为全球信息交流和文化交流提供了有力支持。

相信随着科技的不断发展,国际标准超大字符集将会发挥越来越重要的作用,为构建一个更加和谐、包容的世界做出更大的贡献。

数据库字符集类型

数据库字符集类型

数据库中常用的字符集类型有以下几种:
ASCII:ASCII(American Standard Code for Information Interchange)是美国标准信息交换码,用于表示英语字符的编码标准。

ASCII 字符集包含128 个字符,包括字母、数字、标点符号等。

UTF-8:UTF-8(Unicode Transformation Format-8)是一种针对Unicode 字符集的可变长度字符编码方案。

UTF-8 支持包括中文、日文、韩文等各种字符,是目前最常用的字符集之一。

UTF-8 中的字符可以使用1 到4 个字节表示,英文字符占用一个字节,中文字符占用三个字节。

UTF-16:UTF-16 是Unicode 字符集的一种编码方案,采用16 位编码表示字符。

UTF-16 中的字符可以使用2 个或 4 个字节表示,英文字符占用 2 个字节,中文字符占用 4 个字节。

GBK:GBK(GuoBiao Kuozhan)是国家标准扩展码的简称,是对汉字进行编码的字符集标准。

GBK 包含了GB2312 字符集的全部字符,并增加了许多繁体字和生僻字。

Big5:Big5 是繁体中文的字符集标准,广泛应用于台湾、香港等地区。

Big5 字符集可以表示繁体中文字符,不包含简体中文字符。

ISO-8859-1:ISO-8859-1(又称Latin-1)是国际标准化组织制定的字符集标准,包含了西欧各国所需的字符。

各个字符集关系

各个字符集关系

各个字符集关系字符集是计算机中用来表示和存储字符的编码方案。

不同的字符集拥有不同的字符映射表,即将字符映射到特定的二进制代码上。

在计算机科学中,有许多不同的字符集,如ASCII、Unicode、UTF-8等。

本文将详细介绍各个字符集之间的关系。

首先,ASCII(美国标准信息交换码)是最早的字符集之一。

它使用7位二进制代码来表示128个字符,包括英文字母、数字和特殊字符。

ASCII标准定义了每个字符的二进制代码和对应的显示符号。

ASCII编码被广泛应用于美国和英语系国家。

然而,ASCII的局限性在于它只能表示英文字符和一些常见的特殊符号,无法表示其他国家的字符集。

为了解决这个问题,ISO(国际标准化组织)提出了ISO-8859字符集系列。

ISO-8859字符集通过扩展ASCII,使用8位二进制代码表示256个字符。

ISO-8859字符集包括多种变种,如ISO-8859-1(Latin-1)、ISO-8859-2(Latin-2)等,每个变种针对不同的语言和地区。

然而,随着国际化的发展,ISO-8859字符集仍然无法满足全球多语言的需求。

为此,国际化组织提出了Unicode字符集。

Unicode字符集旨在成为全球统一的字符编码方案,能够包含世界上所有的字符。

Unicode使用16位二进制代码来表示字符,它定义了每个字符的唯一编号,称为码点(code point)。

Unicode的码点范围非常广阔,可以涵盖几乎所有的字符。

然而,使用16位二进制代码会造成存储和传输的浪费。

为此,发展了多种Unicode的字符编码方案,如UTF-8、UTF-16和UTF-32。

UTF-8是一种变长的字符编码方案,使用8位二进制代码表示字符。

UTF-8的编码规则如下:-对于ASCII字符,使用7位二进制代码与ASCII完全兼容。

-对于非ASCII字符,使用多个字节表示。

编码的首字节是非零的,使用剩余的7位二进制代码来表示字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
6
飞刀, 飞刀,又见飞刀
UTF-8 是unicode的8位编码方式,是一种变长多 字节编码,这种编码可以用1、2、3个字节表 示一个unicode字符,AL32UTF8,UTF8、UTFE是 UTF-8编码字符集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
14
数据库字符集
国家字符集: 用以存储NCHAR, NVARCHAR2, NCLOB等类型数 据 国家字符集实质上是为oracle选择的附加字符 集,主要作用是为了增强oracle的字符处理能 力,因为NCHAR数据类型可以提供对亚洲使用 定长多字节编码的支持,而数据库字符集则不 能。国家字符集在oracle9i中进行了重新定义, 只能在unicode编码中的AF16UTF16和UTF8中选 择,默认值是 AF16UTF16
16
数据库字符集
可以查询以下数据字典或视图查看字符集设置 情况 nls_database_parameters 、props$、 v$nls_parameters 查询结果中NLS_CHARACTERSET表示字符集, NLS_NCHAR_CHARACTERSET表示国家字符集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
22
客户端字符集
NLS_LANG 参数格式 NLS_LANG=LANGUAGE_TERRITORY.CHARACTERSET Language: 显示oracle消息,校验,日期命名 Territory :指定默认日期、数字、货币等格式 Client character set :指定客户端将使用的字符集 例如: NLS_LANG=AMERICAN_7ASCII AMERICAN是语言,AMERICA是地区,US7ASCII是客户端字符 集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
2
飞刀, 飞刀,又见飞刀
字符编码方案 单字节编码 单字节7位字符集,可以定义128个字符,最常 用的字符集为 US7ASCII 单字节8位字符集,可以定义256个字符,适合 于欧洲大部分国家 例如:WE8ISO8859P1(西欧、 8位、ISO标准8859P1编码 )
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
13
数据库字符集
字符集 用来存储CHAR, VARCHAR2, CLOB, LONG等类型 数据 用来标示诸如表名、列名以及PL/SQL变量等 用来存储SQL和PL/SQL程序单元等
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft 15
数据库字符集
讨论: 1、什么情况下用CHAR,NCHAR? 2、如何决定数据库字符集?
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
5
飞刀, 飞刀,又见飞刀
unicode 编码 Unicode 是一个涵盖了目前全世界使用的所有 已知字符的单一编码方案,也就是说Unicode为 每一个字符提供唯一的编码。UTF-16是unicode 的16位编码方式,是一种定长多字节编码,用 2个字节表示一个unicode字符,AF16UTF16是 UTF-16编码字符集。
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
3
飞刀, 飞刀,又见飞刀
多字节编码 变长多字节编码 某些字符用一个字节表示,其它字符用两个或 多个字符表示,变长多字节编码常用于对亚洲 语言的支持,例如日语、汉语、印地语等 例如:AL32UTF8(其中AL代表ALL,指适用于所 有语言)、 zhs16cgb231280
ORACLE字符集研究 ORACLE字符集研究
Dextrys Co., Ltd.
Kelson Cong DBA Team
飞刀, 飞刀,又见飞刀
什么是字符集 字符集就是按照一定的字符编码方案,对一组 特定的符号,分别赋予不同数值编码的集合。 Oracle数据库最早支持的编码方案是US7ASCII。 Oracle 的字符集命名遵循以下命名规则 : 即: <语言><比特位数><编码 > 比如: ZHS16GBK表示采用GBK编码格式、16位 (两个字节)简体中文字符集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
19
数据库字符集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
24
客户端字符集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
20
数据库字符集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
21
客户端字符集
客户端字符集定义了客户端字符数据的编码方 式,任何发自或发往客户端的字符数据均使用 客户端定义的字符集编码,客户端可以看作是 能与数据库直接连接的各种应用,客户端字符 集是通过设置NLS_LANG参数来设定的。
17
数据库字符集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
18
数据库字符集
如何修改服务器端字符集 Alter database character set ZHS16GBK 此方法慎用! 千万不要通过修改PROPS$的方式修改 PROPS$ 新的字符集一定是老字符集的超集
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
10
查看字符集的工具:LBUILDER
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
8
Oracle8i 和oracle9i官方文档资料中备有子集-超 级对照表(subset-superset pairs),例如: WE8ISO8859P1是WE8MSWIN1252的子集。由于 US7ASCII是最早的Oracle数据库编码格式,因 此有许多字符集是US7ASCII的超集,例如 WE8ISO8859P1、ZHS16CGB231280、ZHS16GBK 都是US7ASCII的超集。
© Copyright, Dextrys Co., Ltd. Confidential and Proprietary Information. All Rights Reserved. Suzsoft
23
客户端字符集
客户端字符集设置方法 1)UNIX 环境 $NLS_LANG=“simplified chinese”_china.zhs16gbk $export NLS_LANG 编辑oracle用户的profile文件 2)Windows 环境 编辑注册表 HKEY_LOCAL_MACHINE-SOFTWARE-ORACLE-HOME0(9i) HKEY_LOCAL_MACHINE-SOFTWARE-ORACLEKEY_OraDb10g_home1(10g)
相关文档
最新文档