![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1 |
カタカナとひらがなの変換や、 全角文字と半角文字の変換などを行えます。SFXShiftJIS クラスは静的関数だけをもちます。
関数が受け取る引数はワイド文字( 列 ) ( SFXWideString クラス) です。
ANSI 文字に対して処理を行う必要がある場合は、ワイド文字( 列 )に変換します。
| パブリック関数 | |
|---|---|
| static UInt16 |
AsUInt16(
WChar param
) ワイド文字を比較可能な数値に変換します。
|
| static WChar |
AsWChar(
UInt16 param
) 比較可能な数値をワイド文字に変換します。
|
| static SFCError |
HiraganaToKatakana(
SFXWideStringPtr param
) ひらがなを全角カタカナに変換します。
|
| static Bool |
IsFullAlpha(
WChar param
) 全角英字か判定します。
|
| static Bool |
IsFullDigit(
WChar param
) 全角数字か判定します。
|
| static Bool |
IsFullHiragana(
WChar param
) 全角ひらがなか判定します。
|
| static Bool |
IsFullKatakana(
WChar param
) 全角カタカナか判定します。
|
| static Bool |
IsFullSymbol(
WChar param
) 全角記号か判定します。
|
| static Bool |
IsHalfAlpha(
WChar param
) 半角英字か判定します。
|
| static Bool |
IsHalfDigit(
WChar param
) 半角数字か判定します。
|
| static Bool |
IsHalfKatakana(
WChar param
) 半角カタカナか判定します。
|
| static Bool |
IsHalfSymbol(
WChar param
) 半角記号か判定します。
|
| static SFCError |
KatakanaToHiragana(
SFXWideStringPtr param
) 全角カタカナをひらがなに変換します。
|
| static SFCError |
ToFullAlpha(
SFXWideStringPtr param
) 半角の英字を全角に変換します。
|
| static SFCError |
ToFullDigit(
SFXWideStringPtr param
) 半角の数字を全角に変換します。
|
| static SFCError |
ToFullKatakana(
SFXWideStringPtr param
) 半角カタカナを全角に変換します。
|
| static SFCError |
ToFullSymbol(
SFXWideStringPtr param
) 半角記号を全角記号に変換します。
|
| static SFCError |
ToHalfAlpha(
SFXWideStringPtr param
) 全角の英字を半角に変換します。
|
| static SFCError |
ToHalfDigit(
SFXWideStringPtr param
) 全角の数字を半角に変換します。
|
| static SFCError |
ToHalfKatakana(
SFXWideStringPtr param
) 全角カタカナを半角に変換します。
|
| static SFCError |
ToHalfSymbol(
SFXWideStringPtr param
) 全角記号を半角記号に変換します。
|
BREW API を使って Shift_JIS 文字をワイド文字に変換した場合、 WChar の値は、文字によってエンディアンが逆になり、連続した文字コードの数値比較ができません。
AsUInt16 関数は、エンディアンが逆になる文字を比較可能な数値に変換します。
AsWChar 関数は SFXShiftJIS::AsUInt16 の逆変換を行います。
[ public, static ] SFCError HiraganaToKatakana( SFXWideStringPtr param // 変換する文字列 );
「むらさき しきぶ」を「ムラサキ シキブ」に変換します。
SFXWideString str = "むらさき しきぶ";
SFXShiftJIS::HiraganaToKatakana(&str); // 「ムラサキ シキブ」
IsFullKatakana 関数は、文字コードが 0x8340 以上 0x8396 以下であり、かつ 0x837F でないか判定します。
IsFullSymbol 関数は、!”#$%&’()*+,−./:;<=>?@[¥]^_‘{|}〜 のいずれかの文字か判定します。
IsHalfKatakana 関数は、文字コード 0xA1 から 0xDF に対してのみ判定します。 半角の句読点、カギ括弧などの記号類も含まれます。
IsHalfSymbol 関数は、 ! "#$%&()*+,-./:;<=>?@[\]^_`{|}~のいずれかの文字か判定します。
[ public, static ] SFCError KatakanaToHiragana( SFXWideStringPtr param // 変換する文字列 );
カタカナの「ヴ」は、ひらがなの「ぶ」に変換します。
「ヤマダ タロウ」を「やまだ たろう」に変換します。
SFXWideString str = "ヤマダ タロウ";
SFXShiftJIS::KatakanaToHiragana(&str); // 「やまだ たろう」
[ public, static ] SFCError ToFullAlpha( SFXWideStringPtr param // 変換する文字列 );
半角の ABC を全角の ABC に変換します。
SFXWideString str = "ABC";
SFXShiftJIS::ToFullAlpha(&str); // ABC
[ public, static ] SFCError ToFullDigit( SFXWideStringPtr param // 変換する文字列 );
半角の 2004 を全角の 2004 に変換します。
SFXWideString str = "2004";
SFXShiftJIS::ToFullDigit(&str); // 2004
[ public, static ] SFCError ToFullKatakana( SFXWideStringPtr param // 変換する文字列 );
半角カタカナで濁音や半濁音をつけた文字は、全角カタカナの1文字に変換します。
また、半角カタカナの以下の記号類も全角に変換されます。
| 半角記号 | 半角文字コード | 全角記号 | 全角文字コード |
|---|---|---|---|
| ー | 0xB0 | ー | 0x815B |
| ゙ | 0xDE | ゛ | 0x814A |
| ゚ | 0xDF | ゜ | 0x814B |
| 。 | 0xA1 | 。 | 0x8142 |
| 「 | 0xA2 | 「 | 0x8175 |
| 」 | 0xA3 | 」 | 0x8176 |
| 、 | 0xA4 | 、 | 0x8141 |
| ・ | 0xA5 | ・ | 0x8145 |
[ public, static ] SFCError ToFullSymbol( SFXWideStringPtr param // 変換する文字列 );
変換対象となる記号は以下のとおりです。
| 半角記号 | 半角文字コード | 全角記号 | 全角文字コード |
|---|---|---|---|
| ! | 0x21 | ! | 0x8149 |
| " | 0x22 | ” | 0x8168 |
| # | 0x23 | # | 0x8194 |
| $ | 0x24 | $ | 0x8190 |
| % | 0x25 | % | 0x8193 |
| & | 0x26 | & | 0x8195 |
| ' | 0x27 | ’ | 0x8166 |
| ( | 0x28 | ( | 0x8169 |
| ) | 0x29 | ) | 0x816A |
| * | 0x2A | * | 0x8196 |
| + | 0x2B | + | 0x817B |
| , | 0x2C | , | 0x8143 |
| - | 0x2D | − | 0x817C |
| . | 0x2E | . | 0x8144 |
| / | 0x2F | / | 0x815E |
| : | 0x3A | : | 0x8146 |
| ; | 0x3B | ; | 0x8147 |
| < | 0x3C | < | 0x8183 |
| = | 0x3D | = | 0x8181 |
| > | 0x3E | > | 0x8184 |
| 0x3F | ? | 0x8148 | |
| @ | 0x40 | @ | 0x8197 |
| [ | 0x5B | [ | 0x816D |
| \ | 0x5C | ¥ | 0x818F |
| ] | 0x5D | ] | 0x816E |
| ^ | 0x5E | ^ | 0x814F |
| _ | 0x5F | _ | 0x8151 |
| ` | 0x60 | ‘ | 0x8165 |
| { | 0x7B | { | 0x816F |
| | | 0x7C | | | 0x8162 |
| } | 0x7D | } | 0x8170 |
| ~ | 0x7E | 〜 | 0x8160 |
[ public, static ] SFCError ToHalfAlpha( SFXWideStringPtr param // 変換する文字列 );
全角の XYZ を半角の XYZ に変換します。
SFXWideString str = "XYZ";
SFXShiftJIS::ToHalfAlpha(&str); // XYZ
[ public, static ] SFCError ToHalfDigit( SFXWideStringPtr param // 変換する文字列 );
全角の 99 を半角の 99 に変換します。
SFXWideString str = "99";
SFXShiftJIS::ToHalfDigit(&str); // 99
[ public, static ] SFCError ToHalfKatakana( SFXWideStringPtr param // 変換する文字列 );
濁点、半濁点をもつカタカナ1文字は、濁点記号や半濁点記号を伴った2文字に変換します。
下記の全角カタカナは変換されません。
| 全角カタカナ | 文字コード |
|---|---|
| ? | 0x837F |
| ヮ | 0x838E |
| ヰ | 0x8390 |
| ヱ | 0x8391 |
| ヵ | 0x8395 |
| ヶ | 0x8396 |
また、SFXShiftJIS::ToFullKatakana の記号類も半角カタカナに変換されます。
[ public, static ] SFCError ToHalfSymbol( SFXWideStringPtr param // 変換する文字列 );
変換対象となる記号は以下のとおりです。
| 半角記号 | 半角文字コード | 全角記号 | 全角文字コード |
|---|---|---|---|
| ! | 0x21 | ! | 0x8149 |
| " | 0x22 | ” | 0x8168 |
| # | 0x23 | # | 0x8194 |
| $ | 0x24 | $ | 0x8190 |
| % | 0x25 | % | 0x8193 |
| & | 0x26 | & | 0x8195 |
| ' | 0x27 | ’ | 0x8166 |
| ( | 0x28 | ( | 0x8169 |
| ) | 0x29 | ) | 0x816A |
| * | 0x2A | * | 0x8196 |
| + | 0x2B | + | 0x817B |
| , | 0x2C | , | 0x8143 |
| - | 0x2D | − | 0x817C |
| . | 0x2E | . | 0x8144 |
| / | 0x2F | / | 0x815E |
| : | 0x3A | : | 0x8146 |
| ; | 0x3B | ; | 0x8147 |
| < | 0x3C | < | 0x8183 |
| = | 0x3D | = | 0x8181 |
| > | 0x3E | > | 0x8184 |
| 0x3F | ? | 0x8148 | |
| @ | 0x40 | @ | 0x8197 |
| [ | 0x5B | [ | 0x816D |
| \ | 0x5C | ¥ | 0x818F |
| ] | 0x5D | ] | 0x816E |
| ^ | 0x5E | ^ | 0x814F |
| _ | 0x5F | _ | 0x8151 |
| ` | 0x60 | ‘ | 0x8165 |
| { | 0x7B | { | 0x816F |
| | | 0x7C | | | 0x8162 |
| } | 0x7D | } | 0x8170 |
| ~ | 0x7E | 〜 | 0x8160 |
|
Copyright (C) 2002 - 2009 Sophia Cradle, Inc. All Rights Reserved. |
![]() ![]() ![]()
|