代码页
代码页是字符“代码”和数据库中它的二进制“编码”(表示)间的映射。一个DB2数据库只能够使用单一的代码页。代码点是在代码页中字符的位置。如果应用程序和数据库没有用相同的代码页定义,DB2将尝试转换代码页。象英语这样的语言包含相对较少的基本字符;使用一个字节的代码页存储数据足够。像日文这样的语言需要多于256个元素来表示所有的不同字符,因此需要使用多字节代码页,通常是双字节代码页。
基本信息
- 中文名
代码页
- 原名
字符集编码
- 别称
内码表
- 例子
OEM代码页
基本介绍
对于字符和 Unicode 数据的位模式的定义,此模式代表特定字母、数字或符号(例如0x20代表一个空格,而0x74代表字符"t”)。一些数据类型每个字符使用一个字节;每个字节可以具有256个不同的位模式中的一个模式。
在计算机中,字符由不同的位模式(ON或OFF)表示。每个字节有8位,这8位可以有256种不同的ON和OFF 组合模式。对于使用1个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多256个不同的字符。2个字节有16位,这16位可以有65,536种唯一的ON和OFF组合模式。使用2个字节表示每个字符的程序可表示最多65,536个字符。
字节分类
1.单字节代码页
单字节代码页是字符定义,这些字符映射到每个字节可能有的256种位模式中的每一种。代码页定义大小写字符、数字、符号以及 !、@、#、% 等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。虽然用于表示A到Z拉丁字母表字符的位模式在所有的代码页中都相同,用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。
2.双字节代码页
仅靠单字节字符集存储许多语言所使用的字符也是不够的。例如,一些亚洲语言包含上千个字符,所以每个字符必须使用双字节。双字节字符集正是为这些语言定义的。但是,这些语言都有各自的代码页,在运行不同双字节代码页的计算机之间传输数据也存在困难。
支持分类
SQL Server 2000 支持如下代码页:
代码页 描述
1258 越南语
1257 波罗的语
1256 阿拉伯语
1255 希伯来语
1254 土耳其语
1253 希腊语
1252 拉丁 1字符 (ANSI)