徹底弄懂Unicode編碼 |疊字符號 |疊字符號 |【前面4個字符號加一個字】
風水玄學

徹底弄懂Unicode編碼 |疊字符號 |疊字符號 |【前面4個字符號加一個字】

中國古代常用兩橫”𠄠”(Unicode有“𖿣”)或兩點“〻”作為文號或省代號,其起源於中國商朝[1][2]。

如左圖所示史頌鼎銘文中末尾“子𠄠孫𠄠寶用”,使用了“𠄠”表示複,意為“子子孫孫寶”,Unicode象形文字編碼.mw-parser-output .monospaced{font-family:monospace,monospace}U+20120 𠄠 .mw-parser-output .smallcaps-all{font-variant:small-caps;text-transform:lowercase}.mw-parser-output .smallcaps-all>span{font-variant:normal;text-transform:none},有符號編碼U+16FE3 𖿣 OLD CHINESE ITERATION MARK。

現時,很多人在手寫時會非正式使用疊字符號“々”來表示複漢字,如“謝謝”寫作“謝々”。

明治36年後人們開始使用“々”[3][4]。

台灣日治時期遺蹟使用過“々”,如台語“天烏烏”寫作“天烏々”或“天烏〃”,因為不是寫法,所以沒有正式文件中使用。

現在有“〃”和“²”寫法,如“謝〃”和“謝²”。

女書疊字符號是U+16FE1 .mw-parser-output .script-Nshu{font-family:”Noto Traditional Nushu”,”Noto Sans Nushu”,”TH-Tshyn-P1″}𖿡‎ NUSHU ITERATION MARK。

朝鮮文疊字符號稱為反覆符號(반복 부호),“々”或“〻”。

疊字符號(日語:踴り字/おどりじ)“々”(の字點/どうのじてん。

因為看起來像是片假名“ノ”加上“マ”,所以稱為“ノマ”) 認為是“仝”(意為“”)草書轉化而來。

是日語中表示漢字(或假名)複符號。

例如“人々”中“々”表示與前面“人”複,即“人人”。

於漢字、平假名、片假名這三種書寫系統,有疊字符號應。

日文中使用“々”(U+3005)來表示漢字複,如:
但如果複漢字屬於詞彙,原則上使用疊字符號,如:
不過有例外,如“公演會々場”。

是婚禮和葬禮相關情形,同樣漢字直接複話,會讓人聯想到再婚或者禍行,所以常會見到“結婚式々場”“告別式々場”寫法。

而豎排書寫時,會使用“〻”(U+303B)來作為疊字符號,但目前常用。

於平假名與片假名,使用“ゝ”(U+309D)和“ヽ”(U+30FD)作為疊字符號。

另外,有“ゞ”(U+309E)和“ヾ”(U+30FE)用作有濁點時疊字符號。

這些符號近年使用。

如:
一些專詞中,現在使用假名疊字符號。

記錄歌詞時,若一個音複演唱,以疊字符號作為標記。

如:
另外,前一假名有濁點時,“ゝ”表示無濁點假名,“ゞ”表示有濁點假名,如:
豎排書寫時,可以使用類似於平假名く符號“〱”(U+3031)、“〲”(U+3032),並拉長個字符高度。

使用文字處理軟件時,如果顯示高度兩個字符疊字符號,其分拆為“〳”(U+3033)與“〵”(U+3035)、“〴”(U+3034)與“〵”(U+3035)。

如:
如果複文字而增加了濁點,則使用帶濁音疊字符號:
如果複文字濁音開始,帶濁音和帶濁音疊字符號可使用:
中國古代常用兩橫”𠄠”(Unicode有「𖿣」)或兩點「〻」作為文號或省代號,其起源於中國商朝[1][2]。

如左圖所示史頌鼎銘文中末尾「子𠄠孫𠄠寶用」,使用了「𠄠」表示複,意為「子子孫孫寶」,Unicode象形文字編碼.mw-parser-output .monospaced{font-family:monospace,monospace}U+20120 𠄠 .mw-parser-output .smallcaps-all{font-variant:small-caps;text-transform:lowercase}.mw-parser-output .smallcaps-all>span{font-variant:normal;text-transform:none},有符號編碼U+16FE3 𖿣 OLD CHINESE ITERATION MARK。

現時,很多人在手寫時會非正式使用疊字符號「々」來表示複漢字,如「謝謝」寫作「謝々」。

明治36年後人們開始使用「々」[3][4]。

台灣日治時期遺蹟使用過「々」,如台語「天烏烏」寫作「天烏々」或「天烏〃」,因為不是寫法,所以沒有正式文件中使用。

,美國人意識到他們應該提出一種標準方案來展示世界上所有語言中所有字符,出於這個目的,Unicode 誕生了。

女書疊字符號是U+16FE1 .mw-parser-output .script-Nshu{font-family:”Noto Traditional Nushu”,”Noto Sans Nushu”,”TH-Tshyn-P1″}𖿡‎ NUSHU ITERATION MARK。

朝鮮文疊字符號稱為反覆符號(반복 부호),「々」或「〻」。

疊字符號(日語:踴り字/おどりじ)「々」(の字點/どうのじてん。

因為看起來像是片假名「ノ」加上「マ」,所以稱為「ノマ」) 認為是「仝」(意為「」)草書轉化而來。

是日語中表示漢字(或假名)複符號。

例如「人々」中「々」表示與前面「人」複,即「人人」。

於漢字、平假名、片假名這三種書寫系統,有疊字符號應。

日文中使用「々」(U+3005)來表示漢字複,如:
但如果複漢字屬於詞彙,原則上使用疊字符號,如:
不過有例外,如「公演會々場」。

是婚禮和葬禮相關情形,同樣漢字直接複話,會讓人聯想到再婚或者禍行,所以常會見到「結婚式々場」「告別式々場」寫法。

而豎排書寫時,會使用「〻」(U+303B)來作為疊字符號,但目前常用。

於平假名與片假名,使用「ゝ」(U+309D)和「ヽ」(U+30FD)作為疊字符號。

另外,有「ゞ」(U+309E)和「ヾ」(U+30FE)用作有濁點時疊字符號。

這些符號近年使用。

如:
一些專詞中,現在使用假名疊字符號。

記錄歌詞時,若一個音複演唱,以疊字符號作為標記。

如:
另外,前一假名有濁點時,「ゝ」表示無濁點假名,「ゞ」表示有濁點假名,如:
豎排書寫時,可以使用類似於平假名く符號「〱」(U+3031)、「〲」(U+3032),並拉長個字符高度。

使用文字處理軟件時,如果顯示高度兩個字符疊字符號,其分拆為「〳」(U+3033)與「〵」(U+3035)、「〴」(U+3034)與「〵」(U+3035)。

如:
如果複文字而增加了濁點,則使用帶濁音疊字符號:
如果複文字濁音開始,帶濁音和帶濁音疊字符號可使用:
大家需要是計算機裏所有數據是字節形式存儲、處理。

我們需要這些字節來表示計算機裏信息。

但是這些字節本身是沒有任何意義,所以我們需要這些字節賦予實際意義。

所以會制定各種編碼標準。

這種編碼模型裏,一個字符集定義了這個字符集裏包含什麼字符,同時每個字符如何應成計算機裏比特進行了定義。

例如 ASCII, ASCII 裏直接定義了 A -> 0100 0001。

ASCII 直接完成了現代編碼模型前三步工作。

現代編碼模型裏要知道一個字符如何映射成計算機裏比特,需要如下幾個步驟:知道一個系統需要支持哪些字符,這些字符集合稱為字符表(Character repertoire)給字符表裏抽象字符編上一個數字,字符集合到一個整數集合映射。

這種映射稱為編碼字符集(CCS:Coded Character Set),unicode 是屬於這一層概念,跟計算機裏的什麼進制啊有任何關係,它是完全數學抽象。

將 CCS 裏字符對應整數轉換成長度比特值,於後計算機使用長度二進制形式表示該整數。

這個應關係稱字符編碼表(CEF:Character Encoding Form)UTF-8, UTF-16 屬於這層。

於 CEF 得到比特值如何計算機中進行存儲,傳輸。

因為存在大端小端的問題,這會操作系統相關了。

這種解決方案稱為字符編碼方案(CES:Character Encoding Scheme)。

我們説編碼第三步時候完成了,沒有涉及到 CES。

所以 CES 並本文討論範圍之內。

我們知道計算機中,所有信息表示一個二進制字符串,每一個二進制位有 0 和 1 兩種狀態,通過排列組合,使用 0 和 1 可以表示世界上所有東西。

而 1 字節應 8 位二進制數,每位二進制數有 0、1 兩種狀態,因此 1 字節可以組合出 256 種狀態。

如果這 256 中狀態每一個應一個符號,能通過 1 字節數據表示 256 個字符。

美國人於是制定了一套編碼(其字典),描述英語中字符和這 8 位二進制數對應關係,這稱為 ASCII 碼。

ASCII 碼一共定義了 128 個字符,包括英文字母 A-Z,a-z,數字 0-9,一些標點符號和控制符號。

這 128 個字符使用了 8 位二進制數中後面 7 位,最前面一位統一規定 0。

英語 128 個字符來編碼完全是足夠,但是用來表示其他語言,128 個字符是。

於是,一些歐洲國家決定,將 ASCII 碼中閒置位利用起來,這樣能表示 256 個字符。

但是,這裏有了一個問題,那國家字符集可能,就算它們能 256 個字符表示,但是同一個碼點( 8 位二進制數)表示字符可能可能。

例如,144 阿拉伯人 ASCII 碼中是 گ,而俄羅斯 ASCII 碼中是 ђ。

因此,ASCII 碼問題於儘管所有人 0 – 127 號字符上達成了,但於 128 – 255 號字符上有很多種解釋。

與此同時,亞洲語言有多字符需要存儲,一個字節不夠了。

但是這倒智慧中國人民,我們地那些 127 號後符號們直接取消掉, 規定:這些編碼裏,我們數學符號、羅馬希臘字母、日文假名們編進去了, ASCII 裏本來有數字、標點、字母都統統編了兩個字節編碼,這説 全角字符。

中國人民看到這樣,於是這種漢字方案叫做 GB2312。

GB2312 是 ASCII 中文擴展。

但是中國漢字多了,我們發現有許多人人名沒有辦法這裏打出來。

於是我們繼續 GB2312 沒有用到碼位找出來老實地上。

後來是不夠,於是乾脆要求字節是 127 號後內碼,只要第一個字節是於 127 表示這是一個漢字開始,不管後面是不是擴展字符集裏內容。

結果擴展後編碼方案稱為 GBK 標準,GBK 包括了 GB2312 所有內容,同時增加了近 20000 個漢字(包括字)和符號。

後來少數民族要電腦了,於是我們擴展,加了幾千個少數民族字,GBK 擴成了 GB18030。

從此後,中華民族文化可以計算機時代中傳承了。

中國程序員們看到這一系列漢字編碼標準是,於是通稱他們叫做 DBCS。

DBCS 系列標裏,是兩字節漢字字符和一字節英文字符並存於一套編碼方案裏,因此他們寫程序支持中文處理,要注意字串裏每一個字節值,如果這個值是於 127 ,那麼認為一個雙字節字符集裏字符出現了。

因為當時各個國家像中國這樣搞出一套自己編碼標準,結果之間誰懂誰編碼,誰支持別人編碼。

EUC碼雖CNS11643長度,但採用了CNS11643編碼架構及字集,因此亦可視為是CNS11643應用於內碼實例。

Unicode 源於一個想法:將全世界所有字符包含一個集合裏,計算機只要支持這一個字符集,能顯示所有字符,會有碼了。

它 0 開始,每個符號指定一個編號,這叫做”碼點”(code point)。

比如,碼點 0 符號 null(表示所有二進制位是 0)。

上式中,U+表示後面十六進制數是 Unicode 碼點。

這麼多符號,Unicode 不是定義,而是分區定義。

每個區可以存放 65536 個(2^16)字符,稱為一個平面(plane)。

目前,一共有 17 個平面,説,整個 Unicode 字符集大小現在是 2^21。

最前面 65536 個字符位,稱為基本平面(縮寫 BMP),它碼點範圍是 0 到 2^16-1,寫成 16 進制從 U+0000 到 U+FFFF。

所有見字符放在這個平面,這是 Unicode 定義和公佈一個平面。

剩下字符放在輔助平面(縮寫 SMP),碼點範圍 U+010000 到 U+10FFFF。

Unicode 只規定了每個字符碼點,什麼樣字節序表示這個碼點,涉及到編碼方法。

之前提到,Unicode 沒有規定字符應二進制碼如何存儲。

漢字“漢”例,它 Unicode 碼點是 0x6c49,應二進制數是 110110001001001,二進制數有 15 位,這説瞭它需要 2 個字節來表示。

可以想象, Unicode 字典中往後字符可能需要 3 個字節或者 4 個字節,多字節來表示了。

這導致了一些問題,計算機怎麼知道你這個 2 個字節表示是一個字符,而不是表示兩個字符呢?這裏我們可能會想到,那取個,假如 Unicode 中字符 4 字節可以表示了,那麼我們所有字符 4 個字節來表示,往前面補 0。

這樣確實可以解決編碼問題,但是卻造成了空間大浪費,如果是一個英文文檔,那文件大小出了 3 倍,這顯然是無法接受。

於是,解決 Unicode 編碼問題, UTF-8 和 UTF-16 兩種當前流行編碼方式誕生了。

有一個 UTF-32 編碼方式,上述那種定長編碼,字符統一使用 4 個字節,雖然看似,但是卻不如另外兩種編碼方式使用。

UTF-8 是一個驚豔編碼方式,實現了 ASCII 碼後兼容,保證 Unicode 可以大眾接受。

於單個字節字符,第一位設為 0,後面 7 位對應這個字符 Unicode 碼點。

因此,於英文中 0 – 127 號字符,與 ASCII 碼完全相同。

這意味着 ASCII 碼那個年代文檔 UTF-8 編碼打開完全沒有問題。

於需要使用 N 個字節來表示字符(N > 1),第一個字節前 N 位設 1,第 N + 1 位設 0,剩餘的 N – 1 個字節前兩位設位 10,剩下二進制位則使用這個字符 Unicode 碼點來填充。

上面編碼規則照表,進行 UTF-8 編碼和解碼多了。

下面漢字“漢”利,具體説如何進行 UTF-8 編碼和解碼。

“漢” Unicode 碼點是 0x6c49(110 1100 0100 1001),通過上面對照表可以發現,0x0000 6c49 位於第三行範圍,那麼得出其格式為 1110xxxx 10xxxxxx 10xxxxxx。

接着,從“漢”二進制數後一位開始,後向前填充應格式中 x,多出 x 0 補上。

這樣,得到了“漢” UTF-8 編碼 11100110 10110001 10001001,轉換成十六進制 0xE6 0xB7 0x89。

解碼過程十分:如果一個字節第一位是 0 ,説這個字節應一個字符;如果一個字節第一位 1,那麼有多少個 1,表示該字符佔用多少個字節。

Windows 內核、Java、Objective-C (Foundation)、JavaScript 中會字符基本單元定兩個字節數據類型,我們 C / C++ 中遇到 wchar_t 類型或 Java 中 char 類型,這些類型佔內存兩個字節,因為 Unicode 中常用字符處於 0x0 – 0xFFFF 範圍之內,因此兩個字節可以覆蓋大部分常用字符。

UTF-16 編碼介於 UTF-32 與 UTF-8 之間,同時結合了定長和變長兩種編碼方法特點。

它編碼規則:基本平面字符佔用 2 個字節,輔助平面字符佔用 4 個字節。

説,UTF-16 編碼要麼是 2 個字節(U+0000 到 U+FFFF),要麼是 4 個字節(U+010000 到 U+10FFFF)。

那麼問題來了,我們遇到兩個字節時,是這兩個字節當作一個字符是後面兩個字節一起當作一個字符呢?這裏有一個地方,基本平面內,從 U+D800 到 U+DFFF 是一個空段,即這些碼點應任何字符。

因此,這個空段可以用來映射輔助平面字符。

輔助平面字符位共有 2^20 個,因此表示這些字符需要 20 個二進制位。

UTF-16 這 20 個二進制位分成兩半,前 10 位映射 U+D800 到 U+DBFF(空間大小 2^10),稱為高位(H),後 10 位映射 U+DC00 到 U+DFFF(空間大小 2^10),稱為低位(L)。

這意味着,一個輔助平面字符,拆成兩個基本平面字符表示。

因此,我們遇到兩個字節,發現它碼點 U+D800 到 U+DBFF 之間,可以斷定,後面兩個字節碼點,應該 U+DC00 到 U+DFFF 之間,這四個字節放在一起解讀。

接下來,漢字”𠮷”例,説 UTF-16 編碼方式是如何工作。

漢字”𠮷” Unicode 碼點 0x20BB7,該碼點顯然超出了基本平面範圍(0x0000 – 0xFFFF),因此需要使用四個字節表示。

0x20BB7 – 0x10000 計算出超出部分,然後其 20 個二進制位表示(前面補 0 ),結果 0001000010 1110110111。

接着,將前 10 位映射到 U+D800 到 U+DBFF 之間,後 10 位映射到 U+DC00 到 U+DFFF 。

U+D800 應二進制數 1101100000000000,直接填充後面 10 個二進制位,得到 1101100001000010,轉成 16 進制數則 0xD842。

同理可得,低位為 0xDFB7。

因此得出漢字”𠮷” UTF-16 編碼 0xD842 0xDFB7。

編碼公式,可以計算出字符 UTF-16 編碼。

𝌆 字符例,它是一個輔助平面字符,碼點 U+1D306,其轉為 UTF-16 計算過程如下。

所以,字符 UTF-16 編碼 0xD834 0xDF06,長度四個字節。

UTF-32 是編碼方法,每個碼點使用四個字節表示,字節內容一一對應碼點。

比如,碼點 0 四個字節 0 表示,碼點 597D 前面加兩個字節 0。

JavaScript 語言採用 Unicode 字符集,但是支持一種編碼方法。

這種編碼既不是 UTF-16,不是 UTF-8,不是 UTF-32。

上面那些編碼方法,JavaScript 不用。

1991 年 10 月,兩個團隊決定合併字符集。

説,今後發佈一套字符集, Unicode,並且修訂此前發佈字符集,UCS 碼點 Unicode 完全一致。

UCS 開發於 Unicode,1990 年公佈了第一套編碼方法 UCS-2,使用 2 個字節表示有碼點字符。

(那個時候只有一個平面,基本平面,所以 2 個字節夠用了。

延伸閱讀…

疊字符號- 維基百科,自由的百科全書

疊字符號- 維基百科,自由的百科全書

)UTF-16 編碼 1996 年 7 月才公佈,宣佈是 UCS-2 超集,即基本平面字符沿用 UCS-2 編碼,輔助平面字符定義了 4 個字節表示方法。

兩者關係簡單説, UTF-16 取代了 UCS-2,或者説 UCS-2 整合進了 UTF-16。

所以,現在只有 UTF-16,沒有 UCS-2。

那麼,什麼 JavaScript 選擇高級 UTF-16,而了淘汰 UCS-2 呢?答案:非不想,是不能。

因為 JavaScript 語言出現時候,沒有 UTF-16 編碼。

於 JavaScript 只能處理 UCS-2 編碼,造成所有字符這門語言中是 2 個字節,如果是 4 個字節字符,會當作兩個雙字節字符處理。

JavaScript 字符函數受到這一點影響,無法返回結果。

”𝌆”字符例,它 UTF-16 編碼是 4 個字節 0xD834 0xDF06。

問題來了,4 個字節編碼屬於 UCS-2,JavaScript 認識,會它看作兩個字符 U+D834 和 U+DF06。

前面説過,這兩個碼點是,所以 JavaScript 會認為是兩個”�”字符組成字符串!上面代碼表示,JavaScript 認為字符是 2,取到第一個字符是空字符,取到第一個字符碼點是 0xDB34。

這些結果確!解決這個問題,碼點做一個判斷,然後手動調整。

下面是確遍歷字符串寫法。

上面函數 2 字節碼點。

要正確處理 4 字節碼點,部署自己版本,判斷一下當前字符碼點範圍。

ES6 加強了 Unicode 支持,允許採用\uxxxx 形式表示一個字符,其中 xxxx 表示字符 Unicode 碼點。

但是,這種表示法只限於碼點\u0000~\uFFFF 之間字符。

超出這個範圍字符,兩個雙字節形式表示。

上面代碼表示,如果直接\u 後面跟上超過 0xFFFF 數值(比如\u20BB7),JavaScript 會理解成\u20BB+7。

所以會顯示一個其他字符,後面跟着一個 7。

ES6 這一點做出了改進,只要碼點放入大括號,能正確解讀該字符。

上面代碼中,後一個例子表明,大括號表示法四字節 UTF-16 編碼是價。

民國69年9月行政院國家科學委員會集合國內編碼專家、學者溪頭開會,達成原則,並此報請行政院核定國家中文資訊標準交換碼編碼原則,翌年9月2日行政院函令國科會選定原則,邀集教育部、中央標準局及行政院主計處電子處理資料中心組成專案作業小組,積極推動編碼工作。

71年7月編定常用字碼一種,但所收字數不夠;72年5月9日行政院資訊推動小組確立編碼方式,即於5月12日組成編碼技術作業小組,編碼原則,進行編碼細則研討,10月底完成「通用漢字標準交換碼」,並決議試用二年。

試用期後,國科會院主計處於74年8月邀集各相關單位業者組成技術小組,檢討試用結果、修訂編碼原則後編,75年3月獲行政院核定,正式公佈施。

75年8月獲中央標準局審定頒布國家標準,編號「CNS11643」;81年該局應各界需要,原2個字面 (13,051字) 擴編7個字面(48,027字),5月公佈並更名為「中文標準交換碼 (Chinese Standard Interchange Code)」。

二、使用頻率及範圍,整理後編排於各個字面,適應各個層次之使用者。

一、「中文標準交換碼」十六個字面,每個字面可陳列94列 *94行,即8,836個字符。

第一第十一字面標準區,第十二第十六字面使用者加字區,供使用者暫編未收於標準區字符。

二、各字面字集排列,使用頻率次序。

第一字面常用字主,第二字面次常用字主,第三字面部分罕用字及常用異體字主,第四字面ISO DIS 10646第二版漢字、各單位╱資訊業用字及户政用字主,第五字面罕用字主,第六、七字面異體字主;其中第一、第二字面字集於75年8月4日公佈國家標。

一、文字選擇及字體悉依教育部「國字標準字體表」基準。

説: 中國文字困擾主要有兩方面,一是文字數量多,二是異體字增加。

目前中文總數,實際上人常用不過五千字左右,新字增加,造成中文資料處理上困擾;而教育部標準字體表字集係多年蒐集、考證、分析、選取,,具客觀性之用字字集,應能符合使用者需求。

三、符合CNS 5205及CNS 7654之通信定則。

説: 本編碼符合CNS5205及CNS7654通信定則規定,所有控制碼予避開,即字碼中0020以及7F予避開,7bit字碼集共有94個編碼位置,兩個位元組可編8,836個字碼,訂為一字面。

四、依字使用頻率編排於各字面。

説: 做資訊傳輸時,若傳送出現在字面上字,送出轉字面控制碼。

為提高傳輸效率,一起出現字編同一字面中,可減低字面轉換次數。

五、筆畫後部首排列順序編碼。

説: 每一字面文字總筆畫數首序、部首為次序、筆順為末序編訂字碼,使用者只需書寫實際筆畫數查尋到國標碼。

一、字面指定 1B 24 29 [F] 四個位元組逸出順序碼指定於 G1 字元集、 1B 24 2A [F] 指定於 G2 字元集、 1B 24 2B [F] 指定於 G3 字元集,其中終結字元 [F] 可用 30~3F 來指定之一十六中文字面,另十七八十字面能 1B 24 2B [I] [F] 指定於 G3字元集,其中[I][F] 21 30 ~ 21 3F 為十七三十二字面、22 30 ~ 22 3F 為三十三四十八字面、23 30 ~ 23 3F 為四十九六十四字面、24 30 ~ 24 3F 為六十五八十字面;至於英文字集(ASCII)可經 1B 28 42 指定於G0字面。

7個位元環境下。

目前 CNS11643 1~7 字面終結字元 [F] 獲國際標準組織 ISO 正式登記 47 4D ,亦可使用於字集指定。

CNS11643 各字面原指定終結字元 ISO 終結字元對應如下:二、字面轉換 1. 利用SI使用G0字面,並為鎖定方式。

2. 利用SO使用G1字面,並為鎖定方式。

3. 利用LS2使用G2字面,並為鎖定方式。

4. 利用LS3使用G3字面,並為鎖定方式。

5. 利用SS2使用G2字面,並為鎖定方式。

6. 利用SS3使用G3字面,並為鎖定方式。

其中 SI、SO、LS2、LS3、SS2、SS3 為調用控制符接逸出順序後以示字面調用;為求使用方便,終端設備開機時可G0、G1、G2三個字集設定ASCII、第一字面及第二字面,G3字集設定其他較常用字面。

*註:關於以上控制碼詳細使用,請參考CNS 7654 。

CNS11643碼系統依國家標準法規定,應經濟部標準檢驗局(原中央標準局裁撤後標準業務歸併)負責檢討增修,加強推廣該標準應用,該局特將此係統及中文字型檔委託行政院主計處電子處理資料中心代為辦理推廣。

該中心維持本系統中文字型檔完整性,以利此項國家標準推廣,另商得內政部及經濟部工業局一併各界提供免費使用其製作字型檔。

CNS11643目前應用情形如下:一、國內應用 1. CNS11643 納入「政府機關資訊處理共通規範」中,是大多數國內外資訊廠商遵循中文作業系統參考準則。

2. 政府機關公文電子交換標準傳遞碼:本院政府機關公文電子傳遞作業,「交換中心」(設於交通部管資中心)傳送公文,轉換CNS11643碼。

3. 國內大型資訊系統應用:具代表性是全國户役政系統。

目前户役政全國線系統是建構MITUX系統上,屬於主模式架構,內碼採用 UNIX系統EUC碼。

EUC碼雖CNS11643長度,但採用了CNS11643編碼架構及字集,因此亦可視為是CNS11643應用於內碼實例。

延伸閱讀…

徹底弄懂Unicode編碼- 李宇倉

CNS11643 國家中文標準交換碼

4、行政院研考會所推動BIG-5E字集(BIG-5碼擴編部分),CNS 11643藍本,納編CNS第1字面之3個部首字及第3字面之3,891個、第4字面之59個文書上常用中文字。

5. 國內外資訊廠商大都提供其內碼CNS 11643間互換公式,以及叫用工具,可協助用户進行中文資訊交換。

二、國外應用 ISO10646 及UNICODE目前共收編26,783個漢字,其中22,892個係納入CNS 11643第1、2字面及第3字面之6,073字、第4字面之2,975字、第5字面之395字、第6字面之196字、第7字面之133字及第15字面 86字;我國國家標準得國際標準相容,不但能提升國內電腦業者國際市場競爭力,來ISO10646及UNICODE發展後,現用中文碼得以順利轉換。

一、簡介 BIG-5碼,係資策會於1984年策劃制定,宗旨原是儘量使用到控制碼範圍,並配合國人自制五大(BIG-5)套裝軟體。

於委託民間設計,導致初期BIG-5碼並不能使用五大套裝軟體。

雖然如此,市面上絕大多數套裝軟體是BIG-5內碼系統發展出來,因此目前市面上有2-3個BIG-5碼版本,對使用者來説明白其中差異,所以2003年財團法人中文數位化技術推廣基金會接受經濟部標準檢驗局委託,召集國內業者代表、專家和學者,BIG-5編碼字元表原始版本和各主要業界版本予以重整版本,其排列規説如下: 2.BIG-5碼字集 BIG-5碼系統為兩位元組內碼系統,共可定義19782個字碼,其、低位元組範圍如下:本系統中,我們上述範圍內,規劃出標準字、符號及使用者造字區域,分説如下:※BIG5-ETen中倚天擴充字使用符號區C6A1~C8D3範圍,內容有日文假名、俄文符號 ※BIG5-2003中取消 〃(C6DE)、仝(C6DF)以及BIG5-ETen中C7F3~C8D3範圍定義俄文符號(一) 雙位元組,即高位元組之第一位元(MSB)=1。

(二) 保留原有「標準字集字區」及「使用者加字區」架構,使原系統具相容性。

(三) 國家標準CNS11643及國際標準ISO10646漢字集為字源範圍,並CNS11643序編碼。

(四) 包含於ISO10646或CNS11643字集內且市面使用倚天造字及符號編入「標準字集」,並保留原碼位。

(六) 複字刪其後者,錯字CNS11643修正。

一、BIG5+字源 BIG- 5碼系統之內定字集CNS 11643第一、二字面,故86年7月擴編計畫完成之BIG5+碼CNS11643藍本,完成「標準字集」與「推薦字集」兩部分。

「標準字 集」4,670個字符,文書常用之中文字,其中4,145個字包含於CNS11643 第3字面字集,219個字包含於第4字面字集;「推薦字集」3,250個字符,廠商蒐集使用者常用字。

一、BIG+編碼區間 BIG-5總碼位原有19,782個,BIG5+總碼位19,782個擴大23,940個(高位元組為81-FE,低位元組為40-7E、80-FE),BIG5+編碼字集如下:提供系統層級支援,支援香港地區big5增補字符集(Hong Kong Supplementary Character Set,HKSCS)。

HKSCS集合香港行政區(Hong Kong Special Administration Region,簡稱HKSAR)於1999年9月訂定4,702個字元,專用於香港地區,作為香港電腦計算要求通用字元集。

全國户役政單位使用:EUC碼長度4 BYTE,故能納編達七、八萬姓名用字,滿足全國人民户籍登記作業需求。

民國六十八年,美國急需使用電腦處理東亞語文資料,故加州史坦佛大學召開了一個籌劃東亞圖書館自動化會議,希望訂定中文交換碼標準作自動化。

我國那時無合適可用碼,只有日本代表提出他們國家標準JIS C6226;因此,美方沒有其他標準情況下,有採用日本標準想法。

於日本漢字數目和字型和中文相差甚多,實在不足以代表中國文字,並且此舉 影響到我中華文化電腦時代生存問題,所以我國代表和華裔美國東亞圖書館代表。

經辯論後,否定了日本與美方提案,同時我方代 表承諾次年三月亞洲研究學會年會中,提出我們編訂中文訊交換碼,俾日本字碼作一。

我方代表返國後,上書政務委員李國鼎及國科會、中美會單位,集合國內一批文字學家、圖書館學家及電腦學者,組成「國字整理小組」,開始整理我國文 字,並解決電腦處理中文資訊遇到技術問題。

「國字整理小組」謝教授主持,張仲陶教授襄輔;其他參與工作者有王振鵠、張鼎鍾、周駿富、潘重規、周 何、楊建樵、黃克東教授。

我國於次屆亞洲學會年會上,提出共4,808字「中文資訊交換碼」;「中文資訊交換碼」架構美方接受,但要求擴大編碼字集。

「國字整理小組」於七十 年完成第二批,包括17,032個正體字、11,517個異體字(詳七十一年出版第二冊二版,七十四年出版第二冊三版);七十六年發表第三批,包括 20,583正體字。

前後二次擴編53,940個字碼外,並完成64×64,32×32機讀字型;此外,電腦上文字處理,編製了「中國文字 資料庫」(Chinese Character Database,簡稱CCDB),其中列出每個字屬性如部首、筆畫、讀音以及各種對應和輸入碼。

透過「字符」面板輸入字符。

面板一開始會顯示遊標所在字體中字符,但您可以檢視字體、檢視字體文字樣式 (例如,Light、或),並使面板顯示字體字符子集 (例如,數學符號、數字或標點符號)。

指標移至字符上方,您可以工具提示中讀取其 CID/GID 值、Unicode 值和名稱。

選擇「整個字體」,顯示字體中所有可用字符。

選擇「整個字體」底下選項,限縮字符子集。

例如,「標點符號」顯示標點符號字符;「數學符號」會選項限縮為數學符號。

「字符」面板中,一下「搜尋」框,然後輸入搜尋查詢。

預設,InDesign 會字符名稱、Unicode 或字符 ID 使用搜尋進行搜尋。

但您可以指定搜尋參數,進一步篩選搜尋結果。

若要指定搜尋參數,請一下「搜尋」框左側下拉式選單箭頭,然後選擇搜尋參數。

字符是形式字元。

例如,某些字體中,寫字母 A 有幾種形式可用,例如花飾字或小型寫字。

您可以使用「字符」面板,找出字體中任何字符。

OpenType 字體 (例如 Adobe Caslon™ Pro) 許多標準字元提供多個字符。

如果要文件中插入這些替代字符,請使用「字符」面板。

您可以使用「字符」面板,檢視及插入 OpenType 屬性,例如裝飾字、花飾字、分數字和連字。

存取 OpenType 字體字體屬性,精確進行印刷控制! 教學課程:方式使用字符。

如果複使用字元沒有顯示字元中,可以其新增所建立字符集。

選取字體和文字樣式 (如果可用)。

從「顯示」選單中,選擇「整個字體」。

或者,如果選取 OpenType 字體,是幾個 OpenType 類別中選擇。

從「顯示」選單中,選擇自訂字符集 (請參閲建立和編輯自訂字符集)。

InDesign 會追蹤您插入前 35 個字符,並使其出現「字符」面板第一列「最近使用字符」底下 (展開面板才能檢視第一列所有 35 個字符)。

從「顯示」中選擇「最近使用字符」,「字符」面板主體中顯示所有最近使用字符,然後兩下字符。

如果您選取 InDesign 文件中字元,且該字元有一個替代字符,InDesign 會顯示含可用替代字元環境選單。

若您選取單字,字元下方會出現藍色底線。

如果您滑鼠停留藍色底線上方,會顯示環境選單。

若要取代文件中選取字元,請一下環境選單中字符。

如果選取字元替代字符超過 5 個,會環境選單右端顯示下一頁箭頭。

如果您需字符環境選單中,請一下向右鍵。

「字符」面板允許您顯示選取 OpenType 屬性字元,以便鬆選取。

您可以從「字符」面板「顯示」選單中選取各種選項。

請這些選項「字符」面板選單上選項混淆,後者可格式套用選取文字(請參閲套用 OpenType 字體屬性)。

字符集是來自一或多個字體命名字符集合。

將常用字符儲存在字符集內,每次需要使用時尋找字符。

字符集沒有附加任何文件中,而是與其他 InDesign 設定一併儲存在可共用個別檔案中。

您可以決定字體是否要新增字符一起記住。

例如,要使用可能會顯示其他字體中裝飾符號 (Dingbat) 字元時,記住字體有用。

如果記住字符字體,但該字體遺失,「字符」面板和「編輯字符集」對話框中,該字體方塊會粉紅色顯示。

如果字體沒有新增字符一起記住,則字符旁邊會顯示一個「u」,表示會字體 Unicode 值決定字符外觀。

從「字符」面板選單中,選擇「新增字符集」。

「字符」面板上開啟環境選單,並選擇「新增字符集」。

「字符」面板選單上,選擇「檢視字符集」,接著選擇字符集名稱。

如果要字符繫結其字體,請選取「記住字符字體」。

如果字符記住其字體,該字符插入文件中選取文字時,會套用該文字字體,會「字符」面板本身中所指定字體。

如果取消選取此選項,會使用目前字體 Unicode 值。

如果要檢視其他字符,請選擇字體或樣式。

如果字符不是字體所定義,選取字體。

如果要自訂字符集移除字符,請選擇「從字符集中刪除」。

如果要變字符新增集合中順序,請選擇「插入順序」選項。

如果建立字符集時選取「插開始處」或「加在結尾處」,「Unicode 順序」無法使用。

從「字符」面板選單中,選擇「刪除字符集」。

環境選單中,選擇「刪除字符集」。

自訂字符集會儲存為檔案,並放在「Presets」檔案夾下「Glyph Sets」檔案夾內。

您可以將字符集檔案拷貝其他電腦,以便提供自訂字符集給其他人使用。

下列這些檔案夾中拷貝字符集檔案,與其他人共用:一、 字符串前加一個L作用: unicode字符集是兩個字節組成。

L告示編譯器使用兩個字節 unicode 字符集。

   如  L”我字符串”    表示ANSI字符串轉換成unicode字符串,每個字符佔用兩個字節。

  strlen(“asd”)   =   3;      strlen(L”asd”)   =   6;  二、  _T宏可以一個引號引起來字符串,你環境設置,使得編譯器會編譯目標環境選擇(Unicode還是ANSI)字符處理方式    如果你定義了UNICODE,那麼_T宏會字符串前面加一個L。

這時 _T(“ABCD”) 於 L”ABCD” ,這是字符串。

     如果沒有定義,那麼_T宏會字符串前面加那個L,_T(“ABCD”) 價於 “ABCD” 如果你接觸過unicode你明白許多API函數中字符串需要寬字符,兩個字節來表示一個字符,這ANSI字符,後者使用一個字節表示一個字符,字符串前加L,ANSI字符轉換成UNICODE字符。

北海之角:
MightyPDF可以一鍵智能批量去除PDF水印,、福昕和pitstop多

:-Da:
如果我定義一個星期是八天,那麼第四個函數怎麼修改呢?修改成mod8好像不行

在〈徹底弄懂Unicode編碼 |疊字符號 |疊字符號 |【前面4個字符號加一個字】〉中留言功能已關閉