1 / 34

4D v11 SQL

4D v11 SQL. Unicodeの手引き. Unicode (4D)といえば. Char(2) = Char(3). Char(4) = ””. Position(Char(0);”abc”)= 1. Character code(“ゔ”) # Character code(“ゔ”). Length(“ゔ”) # Length(“ゔ”). ...原理を理解することが肝心です。. Unicode 基本用語. 基本用語. コードポイント グリフ 面 サロゲート 結合文字 互換合成文字 正規化 修飾字 非文字. コードポイント. 定義.

bess
Download Presentation

4D v11 SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4D v11 SQL Unicodeの手引き

  2. Unicode (4D)といえば... Char(2)=Char(3) Char(4)=”” Position(Char(0);”abc”)=1 Character code(“ゔ”)#Character code(“ゔ”) Length(“ゔ”)#Length(“ゔ”) ...原理を理解することが肝心です。

  3. Unicode 基本用語

  4. 基本用語 • コードポイント • グリフ • 面 • サロゲート • 結合文字 • 互換合成文字 • 正規化 • 修飾字 • 非文字

  5. コードポイント 定義 文字の識別番号 形式 Unicodeでは, すべての文字に特有の名前と特有の番号つまりコードポイントが割り当てられている。例... 名前 : LATIN CAPITAL LETTER A 番号 : 0x41 U+ _ _ _ _ _ _ 範囲 U+0000 〜 U+10FFFF U+0000 〜 U+007F (127) = ASCII U+0000 〜 U+FFFF (65,535) = 基本 Unicode U+0000 〜 U+10FFFF (1,048,576) = 拡張 Unicode

  6. コードポイント A U+0041 LATIN CAPITAL LETTER A あ U+3042 HIRAGANA LETTER A U+20BB7 𠮷 CJK IDEOGRAPH #20BB7

  7. グリフ 定義 文字の画面または紙面における視覚的な表現。 同一のグリフが異なるコードポイントで使用される場合もある。

  8. グリフ a U+0061 LATIN SMALL LETTER A a U+0430 CYRILLIC SMALL LETTER A コードポイントは言語系 (スクリプト) 別に分類されている。ラテンとキリルは別スクリプト。

  9. グリフ 語 U+8A9E CJK IDEOGRAPH #8A8E 语 U+8BED CJK IDEOGRAPH #8BED 中国語, 日本語, 韓国朝鮮語, ベトナム語は統一スクリプト; 簡体字と繁体字は別コードポイント。

  10. 定義 65,535 コードポイントの集合。 全部で 16 面が定義されている。 当初の Unicode は現在の面 #0, BMP。 (Basic Multilingual Planeの略)

  11. a U+0061 = 面 #0 𝄞 U+1D11E = 面 #1 𠮷 U+20BB7 = 面 #2

  12. UTF-16 定義 2 バイト (=16 ビット) を基本単位とする Unicode の符号方式。 UTF-16 は Mac OS X および Windows XP/Vista のネイティブ文字エンコーディング。

  13. サロゲート 定義 高次の面に位置する別のコードポイントを差している一組のBMP コードポイント。 UTF-16 で拡張 Unicode を扱うために使用する。

  14. サロゲート U+D842 上位サロゲート 𠮷 U+20BB7 U+DFB7 下位サロゲート

  15. 組合文字 定義 文字に文字の部品を追加または調合するためのコードポイント。 ひとつの文字に任意の数の結合文字を適用することができる。

  16. 組合文字 う U+304C HIRAGANA LETTER U U+3099 COMBINING HIRAGANA KATAKANA VOICED SOUND MARK ゙ ゔ

  17. 互換合成文字 定義 BMP のコードポイントひとつで表現できる結合済みの文字。 もっぱら Unicode 以前のエンコーディングとの互換性のために存在する。

  18. 互換合成文字 う U+304C HIRAGANA LETTER U U+3099 COMBINING HIRAGANA KATAKANA VOICED SOUND MARK ゙ U+3094 ゔ HIRAGANA LETTER VU

  19. 正規化 定義 等価とみなすことができる文字列を標準の形式で統一整理する。 4 種類の正規化形式; NFC, NFCK, NFD, NFDK

  20. 正規化 ゔ ゔ U+3094 U+3094 NFD NFC NFKC NFKD ゔ ゔ U+304C U+304C U+3099 U+3099

  21. エンディアン abc リトルエンディアン 41 00 42 00 43 00 U+0041 ビッグエンディアン U+0042 U+0043 00 41 00 42 00 43

  22. Unicode 4Dのコマンド

  23. Replace string 定義 自立した文字列を置換する。修飾字の評価はロケールに依存する。 非文字は空の文字 (“”) と等価。 修飾字の例 : あ 非文字の例 : e ー ´

  24. Replace string a c U+0041 U+0000 U+0043 Char(0) を ”b” で置換 a c

  25. Replace string(*) 定義 Unicode の規則(前後性)を無視し, 修飾字や非文字であっても, 強制的に置換する。

  26. Replace string(*) a c U+0041 U+0000 U+0043 Char(0) を ”b” で置換 abc

  27. Length 定義 文字列に含まれる UTF-16 コードポイントの数。 サイズ(バイト数)/2と同じ。 文字(グリフクラスタ)の数であるとは限らない。

  28. Length ça 2 U+00E7 U+0041 ça U+0063 3 U+0323 U+0041

  29. Position 定義 特定した文字列の前に存在するUTF-16 コードポイント数。修飾字の評価はロケールに依存する。 非文字は空の文字 (“”) と等価。

  30. Position あー 0 U+3042 U+30FC U+00E9 éte ´ 1 U+0074 U+0065 U+0301

  31. Position(*) 定義 Unicode の規則(前後性)を無視し, 修飾字や非文字であっても, コードポイントを扱う。

  32. Position(*) あー 2 U+3042 U+30FC U+00E9 éte ´ 4 U+0074 U+0065 U+0301

More Related