前のページ|次のページ

ANORM420関数

EBCDIC420でエンコードされた入力文字列から正規化された文字列を返します。

カテゴリ: 文字
制限事項: この関数にはI18Nレベル1ステータスが割り当てられています。英語以外の言語を使用する場合は、可能であればI18Nレベル1関数を使用しないようにします。特定の環境では、I18Nレベル1関数がDBCS (Double-Byte Character Set)エンコーディングやMBCS (Multi-Byte Character Set)エンコーディングで正しく機能しない場合があります。 詳細については、次を参照してください。 国際化の互換性.

構文

ANORM420 (string,<modifiers>)

必須引数

string

入力文字列がEBCDIC420でエンコードされるように指定します。

オプション引数

modifiers

1つ以上の修飾子を指定する文字定数、変数、または式。次の修飾子は大文字でも小文字でも指定できます。

g 合字を無視します
i アラビアインド数字を無視します
p 形状文字のマッピングを無視します
s 空白の追加を無視します
t トランスコーティングを無視します
z ゼロ幅空白文字のマッピングを無視します

詳細

ANORM420関数は、EBCDIC420でエンコードされたデータを処理します。
修飾子の変数については、次の表を参照してください。
ANORM420関数は、修飾子gが指定されていない場合は、次の文字とコードポイントを適切な合字に置き換えます。
修飾子g:アラビア語合字
文字
ユニコード値
開始
終了
説明
(U+FEF5)
0xB2
0xB1 + 0x47
アラビア合字Lam-Aleph(上部Madda)独立形
(U+FEF6)
0xB3
0xB1 + 0x47
アラビア合字Lam-Aleph(上部Madda)語末形
(U+FEF7)
0xB4
0xB1 + 0x49
アラビア合字Lam-Aleph(上部Hamza)独立形
(U+FEF8)
0xB5
0xB1 + 0x49
アラビア合字Lam-Aleph(上部Hamza)語末形
(U+FEFC)
0xB8
0xB1 + 0x56
アラビア合字Lam-Aleph独立形
(U+FEFD)
0xB9
0xB1 + 0x56
アラビア合字Lam-Aleph語末形
修飾子iを指定せず、トランスコーディングが発生しない場合、ANORM420はアラビアインド数字を数字に再マッピングします。
修飾子i:アラビアインド数字
開始
٠
U+0660
١
U+0661
٢
U+0662
٣
U+0663
٤
U+0664
٥
U+0665
٦
U+0666
٧
U+0667
٨
U+0668
٩
U+0669
16進数
0xDF
0xEA
0xEB
0xED
0xEE
0xEF
0xFB
0xFC
0xFD
0xFE
To
0
1
2
3
4
5
6
7
8
9
16進数
0xF0
0xF1
0xF2
0xF3
0xF4
0xF5
0xF6
0xF7
0xF8
0xF9
修飾子pを指定しない場合、ANORM420関数は形状文字を対応する非形状文字に再マッピングします。
修飾子p:形状文字のマッピング
From
To
0x43
U+FE7D
0x42
U+0651
0x48
FE82
0x47
U+0622
0x51
U+FE84
0x49
U+0623
0x57
U+FE8E
0x56
U+0627
0x59
U+FE91
0x58
U+0628
0x64
U+FE97
0x63
U+062A
0x66
U+FE9B
0x65
U+062B
0x68
U+FE9F
0x67
U+062C
0x70
U+FEA3
0x69
U+062D
0x72
U+FEA7
0x71
U+062E
0x78
U+FEB3
0x77
U+0633
0x8A
U+FEB7
0x80
U+0634
0x8C
U+FEBB
0x8B
U+0635
0x8E
U+FEBF
0x8D
U+0636
0x9B
U+FECA
0x9A
U+0639
0x9C
U+FECB
0x9A
U+0639
0x9D
U+FECC
0x9A
U+0639
0x9F
U+FECE
0x9E
U+063A
0xA0
U+FECF
0x9E
U+063A
0xAA
U+FED0
0x9E
U+063A
0xAC
U+FED3
0xAB
U+0641
0xAE
U+FED7
0xAD
U+0642
0xB0
U+FEDB
0xAF
U+0643
0xBA
U+FEDF
0xB1
U+0644
0xBC
U+FEE3
0xBB
U+0645
0xBE
U+FEE7
0xBD
U+0646
0xCB
U+FEEB
0xBF
U+0647
0xCD
U+FEEC
0xBF
U+0647
0xDB
U+FEF0
0xDA
U+061F
0xDD
U+FEF2
0xDC
U+064A
0xDE
U+FEF3
0xDC
U+064A
修飾子sを指定していない場合、ANORM420関数は次の文字の後に空白を追加します。
修飾子s: 空白の追加を無視
ب
0x58
(U+0628)
アラビア文字BEH
ة
0x62
(U+0629)
アラビア文字TEH MARBUTA
ت
0x63
(U+062A)
アラビア文字TEH
ث
0x65
(U+062B)
アラビア文字THEH
ج
0x67
(U+062C)
アラビア文字JEEM
ح
0x69
(U+062D)
アラビア文字HAH
خ
0x71
(U+062E)
アラビア文字KHAH
س
0x77
(U+0633)
アラビア文字SEEN
ش
0x80
(U+0634)
アラビア文字SHEEN
ص
0x8B
(U+0635)
アラビア文字SAD
ض
0x8D
(U+0636)
アラビア文字DAD
ع
0x9A
(U+0639)
アラビア文字AIN
0x9B
(U+FECA)
アラビア文字AIN語末形
غ
0x9E
(U+063A)
アラビア文字GHAIN
0x9F
(U+FECE)
アラビア文字GHAIN語末形
ف
0xAB
(U+0641)
アラビア文字FEH
ق
0xAD
(U+0642)
アラビア文字QAF
ك
0xAF
(U+0643)
アラビア文字KAF
ل
0xB1
(U+0644)
アラビア文字LAM
م
0xBB
(U+0645)
アラビア文字MEEM
ن
0xBD
(U+0646)
アラビア文字NOON
ه
0xBF
(U+0647)
アラビア文字HEH
ى
0xDA
(U+0649)
アラビア文字ALEF MAKSURA
ي
0xDC
(U+064A)
アラビア文字YEH
0xDB
(U+FEF0)
アラビア文字ALEF MAKSURA語末形
0xDD
(U+FEF2)
アラビア文字YEH語末形
修飾子tを指定していない場合、ANORM420関数は正規化された文字列をセッションエンコーディングにトランスコーディングします。
修飾子 z を指定しない場合は、ANORM420関数はZWSPと呼ばれるゼロ幅空白(U+200B)を再マッピングします。ゼロ幅文字は、コード位置0x45に配置されています。

次の例は、ANORM420関数について説明しています。
ステートメント
結果
data _null_ ;
a = '59CD57BC577745'x  ;
 s1 = anorm420(a) ;
/* Turn off addition of space and mapping of
Arabic-Indic numbers */
s2 = anorm420(a,"si") ; 
/* Turn off transcoding */
s3 = anorm420(a,'t') ;
 put s1= $hex20. / s2= $hex20. / s3=$hex2
0. ;
 run;
s1=C8E5C7E3C7D320A02020 s2=C8E5C7E3C7D3A0202020 s3=59CD57BC577740454040
前のページ|次のページ|ページの先頭へ