字碼頁架構

在 SQL Server 中,定序可控制字元字串的實體儲存。定序是指定用來代表每個字元的位元模式,以及排序與比較字串的規則。

在電腦中,字元是由不同 ON 或 OFF 的位元模式來代表。一個位元組有 8 個位元,8 個位元可以是 ON 或 OFF,形成 256 種不同的模式比對。程式若使用 1 個位元組來儲存每個字元,最多就可以呈現 256 種不同的字元,各為每個字元指派一種位元模式。兩個位元組中有 16 個位元,16 個位元可以是 ON 或 OFF,形成 65,536 種唯一的模式比對。程式若使用 2 個位元組來代表每個字元,最多就可以呈現 65,536 種字元。

單一位元組字碼頁是對應到位元組中 256 種可能位元模式的字元定義。字碼頁可定義大小寫字元、數字、符號和特殊字元 (如驚嘆號 (!)、@ 符號、井字符號 (#) 或百分比 (%)) 的位元模式。每種歐洲語系 (如德語或西班牙語) 都有它自己的單一位元組字碼頁。雖然所有字碼頁中用來代表拉丁字母字元 A 到 Z 的位元模式都一樣,但用來代表腔調字元的位元模式則會因字碼頁而異。

單一位元組的字元集無法儲存眾多語言所使用的所有字元。有些亞洲語言有數千個字元,因此每個字元必須使用兩個位元組。針對這些語言定義了雙位元組字集,同時還定義了其適用的字碼頁。

下表顯示 SQL Server 所支援的字碼頁。

字碼頁

描述

1258

Vietnamese

1257

波羅的語系

1256

Arabic

1255

Hebrew

1254

Turkish

1253

Greek

1252

Latin1 (ANSI)

1251

古斯拉夫文

1250

中歐

950

中文 (繁體)

949

韓文

936

中文 (簡體)

932

日文

874

Thai

850

多國語言 (MS-DOS Latin1)

437

MS-DOS 美式英文

多種定序可以為非 Unicode 資料使用相同的字碼頁。例如,1251 字碼頁定義了一組古斯拉夫語字元。此字碼頁可供數種定序使用,例如 Cyrillic_General、Ukrainian 與 Macedonian_FYROM_90。雖然這些定序都使用相同的位元組來代表非 Unicode 字元資料,但它們所使用的排序與比較規則略有不同。如此它們才能處理語言中具有正確字元順序的字典定義,或與定序相關的字母。

請參閱

概念