字元編碼/程式碼表/EBCDIC/內碼表 930
外觀
CCSID 930(有時稱為CP930或內碼表 930)是 IBM 為表示日語文字建立的幾個日語 EBCDIC 內碼表之一。它通常用於 IBM z/OS 和 IBM System i 作業系統。
它編碼半形片假名、全形片假名、平假名和漢字。
CCSID 930 使用一種有狀態的 EBCDIC 編碼方案,使用 1 個位元組編碼半形片假名,使用 2 個位元組編碼所有其他日語字元。[1] 單位元組部分是CCSID 290,也稱為 EBCDIK(擴充套件二進位制編碼十進位制交換假名)。雙位元組部分是內碼表 300(CCSID 300、16684 和 24876),[2][3][4][5][6] 與 CCSID 939 共享。[7][8]如果只使用與拉丁字元混合的半形片假名,這是 80 年代之前的標準,則 CCSID 930 可以被認為是純 8 位編碼。當使用其他型別的日語或全形字元時,它是一種多位元組編碼,其中 Shift-Out 0x0E 和 Shift-In 0x0F 位元組用於指示雙位元組編碼的開始和結束。
最新版本的 CCSID 930(CCSID 1390)支援 JIS X 0213。[9]
它是由英國 IBM Hursley 實驗室的 Alan Lloyd Jones 發明的。[需要引用]
CCSID 930 本身及其編碼方案包含許多在實踐中使使用 CCSID 930 變得困難的特殊情況(另請參閱EBCDIC 以瞭解 EBCDIC 標準的特殊情況),並且具有一定的實際意義。
- 由於 Shift-In 和 Shift-Out 程式碼,從中間解析位元組序列很困難。位元組的解釋需要回溯到遇到其中一個移位位元組為止。
- 雖然 CCSID 930 允許混合使用半形和全形字元文字,但許多資料庫模式嚴格區分僅包含單位元組半形片假名的列和僅包含雙位元組全形字元的列。這為軟體開發人員提供了一種便利,可以更輕鬆地預測給定列大小的位元組數,反之亦然。
- 不利的一面是,以上內容意味著為了保持一致性,此類全形字元列中的拉丁文字必須輸入或轉換為全形字母字元(在進行資料庫搜尋時很有趣),以便將其編碼為雙位元組字元。
- 當資料庫列隱式定義為純全形字元文字時,Shift-In 和 Shift-Out 程式碼通常被省略,這導致嚴格意義上的編碼不正確。當缺少移位程式碼時,通常需要使用 CCSID 290 或 CCSID 300/16684/24876 以便正確轉換為其他字元集,例如更可移植的 Unicode。
- CCSID 290/930 中小寫拉丁字母 a-z 的編碼與其在 EBCDIC 中的常用編碼不同。這意味著,例如,檢查字母“a”的程式將無法識別此編碼文字中的字母“a”。EBCDIC 298 沒有這個問題。
- Lunde,Ken。CJKV 資訊處理。加利福尼亞州塞巴斯托波爾:O'Reilly & Associates,1998。ISBN 1-56592-224-7。
- ↑ Unicode 國際元件 (ICU),ibm-930_P120-1999.ucm, 2002-12-03
- ↑ "內碼表 300 資訊文件". 存檔於 原始網站 於 2017-06-10。
- ↑ "CCSID 300 資訊文件". 存檔於 原始網站 於 2016-03-27。
- ↑ "CCSID 16684 資訊文件". 存檔於 原始網站 於 2016-03-27。
- ↑ "CCSID 24876 資訊文件". 存檔於 原始網站 於 2016-03-27。
- ↑ 內碼表 CPGID 00300 (pdf) (PDF), IBM
- ↑ "IBM 全球化 - 編碼字元集識別符號 - CCSID 930". 存檔於 原始網站 於 2014 年 12 月 1 日。
- ↑ “IBM 全球化 - 字元編碼集識別符號 - CCSID 939”. 存檔於 原始檔案,存檔日期2014年12月1日。
- ↑ “CCSID 1390 資訊文件”. 存檔於 原始檔案,存檔日期2016年3月27日。
- 用於 Unicode 的國際元件 (ICU) 對映檔案:ibm-930_P120-1999.ucm、ibm-1390_P110-2003.ucm 和 ibm-16684_P110-2003.ucm
- ICU 轉換器資源管理器中 CCSID 930 的圖形檢視