4D v11 SQL
Unicodeの手引き
Unicode (4D)といえば...
Char(2)=Char(3)
Unicode (4D)といえば...
Char(4)=
Character code( ゔ )#Character code( ゔ )
Length( ゔ )#Length( ゔ )
Position(Char(0); abc )=1
Char(2)=Char(3)
Unicode (4D)といえば...
Char(4)=
Character code( ゔ )#Character code( ゔ )
Length( ゔ )#Length( ゔ )
Position(Char(0); abc )=1
...原理を理解することが肝心です。
Unicode
基本用語
基本用語
• コードポイント
• グリフ
• 面
• サロゲート
• 結合文字
• 互換合成文字
• 正規化
• 修飾字
• 非文字
コードポイント
定義
コードポイント
文字の識別番号
定義
コードポイント
文字の識別番号
Unicodeでは, すべての文字に特有の
名前と特有の番号つまりコードポイン
トが割り当てられている。例...
名前 : LATIN CAPITAL LETTER A
番号 : 0x41
定義
コードポイント
文字の識別番号
形式 U+ _ _ _ _ _ _
定義
コードポイント
文字の識別番号
形式
範囲
U+ _ _ _ _ _ _
U+0000 ∼ U+10FFFF
定義
コードポイント
文字の識別番号
形式
範囲
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
コードポイント
U+0041
コードポイント
U+0041
コードポイント
LATIN CAPITAL LETTER A
U+0041
コードポイント
LATIN CAPITAL LETTER A A
U+0041
コードポイント
LATIN CAPITAL LETTER A A
U+3042
U+0041
コードポイント
LATIN CAPITAL LETTER A A
U+3042
HIRAGANA LETTER A
U+0041
コードポイント
LATIN CAPITAL LETTER A A
U+3042
HIRAGANA LETTER A あ
U+0041
コードポイント
LATIN CAPITAL LETTER A A
U+3042
HIRAGANA LETTER A あ
U+20BB7
U+0041
コードポイント
LATIN CAPITAL LETTER A A
U+3042
HIRAGANA LETTER A あ
U+20BB7
CJK IDEOGRAPH #20BB7
U+0041
コードポイント
LATIN CAPITAL LETTER A A
U+3042
HIRAGANA LETTER A あ
U+20BB7
CJK IDEOGRAPH #20BB7
グリフ
定義
グリフ
文字の画面または紙面における視
覚的な表現。
同一のグリフが異なるコードポイ
ントで使用される場合もある。
グリフ
U+0061
グリフ
U+0061
グリフ
LATIN SMALL LETTER A
U+0061
グリフ
LATIN SMALL LETTER A a
U+0061
グリフ
LATIN SMALL LETTER A a
U+0430
U+0061
グリフ
LATIN SMALL LETTER A a
U+0430
CYRILLIC SMALL LETTER A
U+0061
グリフ
LATIN SMALL LETTER A a
U+0430
CYRILLIC SMALL LETTER A a
U+0061
グリフ
LATIN SMALL LETTER A a
U+0430
CYRILLIC SMALL LETTER A a
コードポイントは言語系 (スクリプト) 別に分類
されている。ラテンとキリルは別スクリプト。
グリフ
U+8A9E
グリフ
U+8A9E
グリフ
CJK IDEOGRAPH #8A8E
U+8A9E
グリフ
CJK IDEOGRAPH #8A8E 語
U+8A9E
グリフ
CJK IDEOGRAPH #8A8E 語
U+8BED
U+8A9E
グリフ
CJK IDEOGRAPH #8A8E 語
U+8BED
CJK IDEOGRAPH #8BED
U+8A9E
グリフ
CJK IDEOGRAPH #8A8E 語
U+8BED
CJK IDEOGRAPH #8BED 语
U+8A9E
グリフ
CJK IDEOGRAPH #8A8E 語
U+8BED
CJK IDEOGRAPH #8BED 语
中国語, 日本語, 韓国朝鮮語, ベトナム語は統一ス
クリプト; 簡体字と繁体字は別コードポイント。
面
定義
面
65,535 コードポイントの集合。
全部で 16 面が定義されている。
当初の Unicode は現在の面 #0,
BMP。 (Basic Multilingual
Planeの略)
面
U+0061
面
U+0061
面
= 面 #0
U+0061
面
= 面 #0 a
U+0061
面
= 面 #0 a
U+1D11E
U+0061
面
= 面 #0 a
U+1D11E
= 面 #1
U+0061
面
= 面 #0 a
U+1D11E
= 面 #1 𝄞
U+0061
面
= 面 #0 a
U+1D11E
= 面 #1 𝄞
U+20BB7
U+0061
面
= 面 #0 a
U+1D11E
= 面 #1 𝄞
U+20BB7
= 面 #2
U+0061
面
= 面 #0 a
U+1D11E
= 面 #1 𝄞
U+20BB7
= 面 #2
UTF-16
定義
UTF-16
2 バイト (=16 ビット) を基本単
位とする Unicode の符号方式。
UTF-16 は Mac OS X および
Windows XP/Vista のネイティ
ブ文字エンコーディング。
サロゲート
定義
サロゲート
高次の面に位置する別のコードポ
イントを差している一組のBMP
コードポイント。
UTF-16 で拡張 Unicode を扱う
ために使用する。
サロゲート
サロゲート
U+D842
サロゲート
U+D842
上位サロゲート
サロゲート
U+D842
U+DFB7
上位サロゲート
サロゲート
U+D842
U+DFB7
上位サロゲート
下位サロゲート
サロゲート
U+20BB7
U+D842
U+DFB7
上位サロゲート
下位サロゲート
サロゲート
U+20BB7
U+D842
U+DFB7
上位サロゲート
下位サロゲート
組合文字
定義
組合文字
文字に文字の部品を追加または調
合するためのコードポイント。
ひとつの文字に任意の数の結合文
字を適用することができる。
組合文字
組合文字
U+304C
組合文字
U+304C
HIRAGANA LETTER U
組合文字
U+304C
HIRAGANA LETTER U う
組合文字
U+304C
HIRAGANA LETTER U う
U+3099
組合文字
U+304C
HIRAGANA LETTER U う
U+3099
COMBINING HIRAGANA
KATAKANA VOICED SOUND MARK
組合文字
U+304C
HIRAGANA LETTER U う
U+3099
COMBINING HIRAGANA
KATAKANA VOICED SOUND MARK
組合文字
U+304C
HIRAGANA LETTER U う
U+3099
COMBINING HIRAGANA
KATAKANA VOICED SOUND MARK
ゔ
互換合成文字
定義
互換合成文字
BMP のコードポイントひとつで
表現できる結合済みの文字。
もっぱら Unicode 以前のエンコー
ディングとの互換性のために存在
する。
互換合成文字
互換合成文字
U+304C
互換合成文字
U+304C
HIRAGANA LETTER U
互換合成文字
U+304C
HIRAGANA LETTER U う
互換合成文字
U+304C
HIRAGANA LETTER U う
U+3099
互換合成文字
U+304C
HIRAGANA LETTER U う
U+3099
COMBINING HIRAGANA
KATAKANA VOICED SOUND MARK
互換合成文字
U+304C
HIRAGANA LETTER U う
U+3099
COMBINING HIRAGANA
KATAKANA VOICED SOUND MARK
互換合成文字
U+304C
HIRAGANA LETTER U う
U+3099
COMBINING HIRAGANA
KATAKANA VOICED SOUND MARK
U+3094
HIRAGANA LETTER VU
ゔ
正規化
定義
正規化
等価とみなすことができる文字列
を標準の形式で統一整理する。
4 種類の正規化形式;
NFC, NFCK, NFD, NFDK
正規化
正規化
ゔ
U+3094
正規化
ゔ
U+3094
U+304C
U+3099ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099
NFKC
ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099
NFKC
ゔ
U+304C
U+3099ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099
NFKC
ゔ
ゔ
U+3094
U+304C
U+3099ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099
NFKC
ゔ
ゔ
U+3094
NFC
U+304C
U+3099ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099
NFKC
ゔ
ゔ
U+3094
NFC
U+304C
U+3099ゔ
正規化
ゔ
U+3094
NFD
U+304C
U+3099
NFKC
ゔ
ゔ
U+3094
NFC
U+304C
U+3099
NFKD
ゔ
エンディアン
エンディアン
abc
エンディアン
abc
U+0041
U+0042
U+0043
エンディアン
abc
U+0041
U+0042
U+0043
リトルエンディアン
エンディアン
abc
U+0041
U+0042
U+0043
リトルエンディアン
41 00 42 00 43 00
エンディアン
abc
U+0041
U+0042
U+0043
リトルエンディアン
ビッグエンディアン
41 00 42 00 43 00
エンディアン
abc
U+0041
U+0042
U+0043
リトルエンディアン
ビッグエンディアン
41 00 42 00 43 00
00 41 00 42 00 43
Unicode
4Dのコマンド
Replace string
Replace string
定義 自立した文字列を置換する。修飾
字の評価はロケールに依存する。
非文字は空の文字 ( ) と等価。
修飾字の例 : あ
非文字の例 : e
Replace string
定義 自立した文字列を置換する。修飾
字の評価はロケールに依存する。
非文字は空の文字 ( ) と等価。
修飾字の例 : あ
非文字の例 : é
ー
Replace string
Replace string
a c
Replace string
a c U+0041
U+0000
U+0043
Replace string
a c U+0041
U+0000
U+0043
Char(0) を b で置換
Replace string
a c U+0041
U+0000
a c
U+0043
Char(0) を b で置換
Replace string(*)
Replace string(*)
定義 Unicode の規則(前後性)を無
視し, 修飾字や非文字であっても,
強制的に置換する。
Replace string(*)
Replace string(*)
a c
Replace string(*)
a c U+0041
U+0000
U+0043
Replace string(*)
a c U+0041
U+0000
U+0043
Char(0) を b で置換
Replace string(*)
a c U+0041
U+0000
abc
U+0043
Char(0) を b で置換
Length
Length
定義 文字列に含まれる UTF-16 コー
ドポイントの数。
サイズ(バイト数)/2と同じ。
文字(グリフクラスタ)の数であ
るとは限らない。
Length
Length
ça
Length
ça 2
Length
ça U+00E7
U+00412
Length
ça U+00E7
U+0041
ça
2
Length
ça U+00E7
U+0041
ça
2
3
Length
ça U+00E7
U+0041
ça
U+0063
U+0323
U+0041
2
3
Position
Position
定義 特定した文字列の前に存在する
UTF-16 コードポイント数。修飾
字の評価はロケールに依存する。
非文字は空の文字 ( ) と等価。
Position
Position
あー
Position
あー 0
Position
あー U+3042
U+30FC0
Position
あー U+3042
U+30FC0
été
Position
あー U+3042
U+30FC0
1été
Position
あー U+3042
U+30FC
U+00E9
U+0074
U+0065
0
1
U+0301
été
Position(*)
Position(*)
定義 Unicode の規則(前後性)を無
視し, 修飾字や非文字であっても,
コードポイントを扱う。
Position(*)
Position(*)
あー
Position(*)
あー 2
Position(*)
あー U+3042
U+30FC2
Position(*)
あー U+3042
U+30FC2
été
Position(*)
あー U+3042
U+30FC2
4été
Position(*)
あー U+3042
U+30FC
U+00E9
U+0074
U+0065
2
4
U+0301
été
Unicode-v11-0

More Related Content

PDF
Scalaの文字列処理 Day 3 コードポイントとサロゲートペア
PDF
Unicodeについて教えてgooでしつこくきいてみたよ♪
PPTX
アルファベット単独| 点字
PDF
Katagaitai CTF勉強会 #4 Crypto
PPTX
Rapat koordinasi mulok pjok sd
PPTX
The Boy and His Wizard
PPT
El bosque mediterráneo
PPTX
Introductieles 2015
Scalaの文字列処理 Day 3 コードポイントとサロゲートペア
Unicodeについて教えてgooでしつこくきいてみたよ♪
アルファベット単独| 点字
Katagaitai CTF勉強会 #4 Crypto
Rapat koordinasi mulok pjok sd
The Boy and His Wizard
El bosque mediterráneo
Introductieles 2015

Viewers also liked (12)

PDF
TXT
Gfwlive setup log
PPTX
LEÇON 111 – Révision des leçons 91 et 92
PPTX
Telecom networks
PPTX
Integrating Climate Change Adaptation into Land Stewardship Plans: Activities...
PDF
الاسرار الربانية في النفس البشرية
PPSX
G4 manha
PDF
Rodriguez_Survival_Abstract_Beamer
PPTX
4. o problema do meu cliente é meu
PPTX
Mugbot bot
PDF
αρχικοι χρονοι-βασικων-ανωμαλων-ρηματων-αντίγραφο (1)
PDF
Wearable Biosensors Presentation
Gfwlive setup log
LEÇON 111 – Révision des leçons 91 et 92
Telecom networks
Integrating Climate Change Adaptation into Land Stewardship Plans: Activities...
الاسرار الربانية في النفس البشرية
G4 manha
Rodriguez_Survival_Abstract_Beamer
4. o problema do meu cliente é meu
Mugbot bot
αρχικοι χρονοι-βασικων-ανωμαλων-ρηματων-αντίγραφο (1)
Wearable Biosensors Presentation
Ad

Similar to Unicode-v11-0 (11)

PDF
テキストファイルを読む💪 第1回
PDF
Web技術勉強会 第34回
PPTX
Unicode文字列処理
PDF
Camomile - OCaml用Unicodeライブラリ
PPTX
文字コード入門 理論編 クイズ付き
PPTX
文字コードのお話
PDF
Unicode 2018 recruit internship
PPT
CamomileでUnicode
PPTX
C# コンパイラーの書き換え作業の話
PPTX
JIS2004 with Windows SDK
PDF
Unicode文字プロパティ
テキストファイルを読む💪 第1回
Web技術勉強会 第34回
Unicode文字列処理
Camomile - OCaml用Unicodeライブラリ
文字コード入門 理論編 クイズ付き
文字コードのお話
Unicode 2018 recruit internship
CamomileでUnicode
C# コンパイラーの書き換え作業の話
JIS2004 with Windows SDK
Unicode文字プロパティ
Ad

More from kmiyako (20)

PDF
Build an iOS app with Ionic and 4D
PDF
4D WORLD TOUR 2017
PDF
Leaflet
PDF
Inside Multi-Threading
PDF
4D Tags
PDF
Mirroring
PDF
Objects Fields
PDF
Code Optimisation
PDF
Auto Update
PDF
Classic Query Editor
PDF
Web area-phone-home
PDF
MONET研究会 #14
PDF
PDF
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
PDF
Xslt
PDF
Journaling slides
PDF
Unicode-v11-5
PDF
アップグレードセミナー
PDF
4D Write Pro
PDF
バックアップと復元
Build an iOS app with Ionic and 4D
4D WORLD TOUR 2017
Leaflet
Inside Multi-Threading
4D Tags
Mirroring
Objects Fields
Code Optimisation
Auto Update
Classic Query Editor
Web area-phone-home
MONET研究会 #14
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
Xslt
Journaling slides
Unicode-v11-5
アップグレードセミナー
4D Write Pro
バックアップと復元

Unicode-v11-0