前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0
SFXShiftJIS
Shift_JIS 文字を処理するためのクラスです。
#include <SFXShiftJIS.h.hpp>
class SFXShiftJIS;
SFMTYPEDEFCLASS(SFXShiftJIS)

解説

カタカナとひらがなの変換や、 全角文字と半角文字の変換などを行えます。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
Bool
IsPassword( 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 )
全角記号を半角記号に変換します。
static
SFCError
ToPassword( SFXWideStringPtr param )
パスワード入力時に使用する伏字に変換します。

SFXShiftJIS::AsUInt16
ワイド文字を比較可能な数値に変換します。
[ public, static ]
UInt16 AsUInt16(
    WChar param   // 変換する文字
);

解説

BREW API を使って Shift_JIS 文字をワイド文字に変換した場合、 WChar の値は、文字によってエンディアンが逆になり、連続した文字コードの数値比較ができません。

AsUInt16 関数は、エンディアンが逆になる文字を比較可能な数値に変換します。

参照

SFXShiftJIS::AsWChar


SFXShiftJIS::AsWChar
比較可能な数値をワイド文字に変換します。
[ public, static ]
WChar AsWChar(
    UInt16 param   // 変換する数値
);

解説

AsWChar 関数は SFXShiftJIS::AsUInt16 の逆変換を行います。

参照

SFXShiftJIS::AsUInt16


SFXShiftJIS::HiraganaToKatakana
ひらがなを全角カタカナに変換します。
[ public, static ]
SFCError HiraganaToKatakana(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM

使用例

「むらさき しきぶ」を「ムラサキ シキブ」に変換します。

SFXWideString str = "むらさき しきぶ";
SFXShiftJIS::HiraganaToKatakana(&str);          // 「ムラサキ シキブ」 

参照

SFXShiftJIS::KatakanaToHiragana


SFXShiftJIS::IsFullAlpha
全角英字か判定します。
[ public, static ]
Bool IsFullAlpha(
    WChar param   // 判定する文字
);

戻り値

  • 全角英字のとき : true
  • それ以外のとき : false

参照

SFXShiftJIS::IsHalfAlpha


SFXShiftJIS::IsFullDigit
全角数字か判定します。
[ public, static ]
Bool IsFullDigit(
    WChar param   // 判定する文字
);

戻り値

  • 全角数字のとき : true
  • それ以外のとき : false

参照

SFXShiftJIS::IsHalfDigit


SFXShiftJIS::IsFullHiragana
全角ひらがなか判定します。
[ public, static ]
Bool IsFullHiragana(
    WChar param   // 判定する文字
);

戻り値

  • 全角ひらがなのとき : true
  • それ以外のとき : false

参照

SFXShiftJIS::IsFullKatakana


SFXShiftJIS::IsFullKatakana
全角カタカナか判定します。
[ public, static ]
Bool IsFullKatakana(
    WChar param   // 判定する文字
);

戻り値

  • 全角カタカナのとき : true
  • それ以外のとき : false

解説

IsFullKatakana 関数は、文字コードが 0x8340 以上 0x8396 以下であり、かつ 0x837F でないか判定します。

参照

SFXShiftJIS::IsHalfKatakana | SFXShiftJIS::IsFullHiragana


SFXShiftJIS::IsFullSymbol
全角記号か判定します。
[ public, static ]
Bool IsFullSymbol(
    WChar param   // 判定する文字
);

戻り値

  • 全角記号のとき : true
  • それ以外のとき : false

解説

IsFullSymbol 関数は、!”#$%&’()*+,−./:;<=>?@[¥]^_‘{|}〜 のいずれかの文字か判定します。

参照

SFXShiftJIS::IsHalfSymbol | SFXShiftJIS::ToHalfSymbol


SFXShiftJIS::IsHalfAlpha
半角英字か判定します。
[ public, static ]
Bool IsHalfAlpha(
    WChar param   // 判定する文字
);

戻り値

  • 半角英字のとき : true
  • それ以外のとき : false

参照

SFXShiftJIS::IsFullAlpha


SFXShiftJIS::IsHalfDigit
半角数字か判定します。
[ public, static ]
Bool IsHalfDigit(
    WChar param   // 判定する文字
);

戻り値

  • 半角数字のとき : true
  • それ以外のとき : false

参照

SFXShiftJIS::IsFullDigit


SFXShiftJIS::IsHalfKatakana
半角カタカナか判定します。
[ public, static ]
Bool IsHalfKatakana(
    WChar param   // 判定する文字
);

戻り値

  • 半角カタカナのとき : true
  • それ以外のとき : false

解説

IsHalfKatakana 関数は、文字コード 0xA1 から 0xDF に対してのみ判定します。 半角の句読点、カギ括弧などの記号類も含まれます。

参照

SFXShiftJIS::IsFullKatakana


SFXShiftJIS::IsHalfSymbol
半角記号か判定します。
[ public, static ]
Bool IsHalfSymbol(
    WChar param   // 判定する文字
);

戻り値

  • 半角記号のとき : true
  • それ以外のとき : false

解説

IsHalfSymbol 関数は、 ! "#$%&()*+,-./:;<=>?@[\]^_`{|}~のいずれかの文字か判定します。

参照

SFXShiftJIS::IsFullSymbol | SFXShiftJIS::ToFullSymbol


SFXShiftJIS::IsPassword
パスワード入力時に使用する伏字かどうかを判定します。
[ public, static ]
Bool IsPassword(
    WChar param   // 判定する文字
);

戻り値

  • パスワード入力時に使用する伏字のとき : true
  • それ以外のとき : false

解説

引数に指定された文字が、パスワード入力時に使用する伏字 「*(0x8196)」 または 「*(0x2A)」であるかどうかを判定します。

参照

SFXShiftJIS::ToPassword


SFXShiftJIS::KatakanaToHiragana
全角カタカナをひらがなに変換します。
[ public, static ]
SFCError KatakanaToHiragana(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM

解説

カタカナの「ヴ」は、ひらがなの「ぶ」に変換します。

使用例

「ヤマダ タロウ」を「やまだ たろう」に変換します。

SFXWideString str = "ヤマダ タロウ";
SFXShiftJIS::KatakanaToHiragana(&str);         // 「やまだ たろう」

参照

SFXShiftJIS::HiraganaToKatakana


SFXShiftJIS::ToFullAlpha
半角の英字を全角に変換します。
[ public, static ]
SFCError ToFullAlpha(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM

使用例

半角の ABC を全角の ABC に変換します。

SFXWideString str = "ABC";
SFXShiftJIS::ToFullAlpha(&str);               // ABC

参照

SFXShiftJIS::IsFullAlpha | SFXShiftJIS::ToHalfAlpha


SFXShiftJIS::ToFullDigit
半角の数字を全角に変換します。
[ public, static ]
SFCError ToFullDigit(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM

使用例

半角の 2004 を全角の 2004 に変換します。

SFXWideString str = "2004";
SFXShiftJIS::ToFullDigit(&str);                 // 2004

参照

SFXShiftJIS::ToHalfDigit


SFXShiftJIS::ToFullKatakana
半角カタカナを全角に変換します。
[ public, static ]
SFCError ToFullKatakana(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

半角カタカナで濁音や半濁音をつけた文字は、全角カタカナの1文字に変換します。

また、半角カタカナの以下の記号類も全角に変換されます。

半角記号 半角文字コード 全角記号 全角文字コード
0xB0 0x815B
0xDE 0x814A
0xDF 0x814B
0xA1 0x8142
0xA2 0x8175
0xA3 0x8176
0xA4 0x8141
0xA5 0x8145

参照

SFXShiftJIS::ToHalfKatakana


SFXShiftJIS::ToFullSymbol
半角記号を全角記号に変換します。
[ public, static ]
SFCError ToFullSymbol(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_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

参照

SFXShiftJIS::ToHalfSymbol


SFXShiftJIS::ToHalfAlpha
全角の英字を半角に変換します。
[ public, static ]
SFCError ToHalfAlpha(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM

使用例

全角の XYZ を半角の XYZ に変換します。

SFXWideString str = "XYZ";
SFXShiftJIS::ToHalfAlpha(&str);                 // XYZ

参照

SFXShiftJIS::IsHalfAlpha | SFXShiftJIS::ToFullAlpha


SFXShiftJIS::ToHalfDigit
全角の数字を半角に変換します。
[ public, static ]
SFCError ToHalfDigit(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM

使用例

全角の 99 を半角の 99 に変換します。

SFXWideString str = "99";
SFXShiftJIS::ToHalfDigit(&str);              // 99

参照

SFXShiftJIS::ToFullDigit


SFXShiftJIS::ToHalfKatakana
全角カタカナを半角に変換します。
[ public, static ]
SFCError ToHalfKatakana(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

濁点、半濁点をもつカタカナ1文字は、濁点記号や半濁点記号を伴った2文字に変換します。

下記の全角カタカナは変換されません。

全角カタカナ 文字コード
? 0x837F
0x838E
0x8390
0x8391
0x8395
0x8396

また、SFXShiftJIS::ToFullKatakana の記号類も半角カタカナに変換されます。

参照

SFXShiftJIS::ToFullKatakana


SFXShiftJIS::ToHalfSymbol
全角記号を半角記号に変換します。
[ public, static ]
SFCError ToHalfSymbol(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_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

参照

SFXShiftJIS::IsHalfSymbol | SFXShiftJIS::ToFullSymbol


SFXShiftJIS::ToPassword
パスワード入力時に使用する伏字に変換します。
[ public, static ]
SFCError ToPassword(
    SFXWideStringPtr param   // 変換する文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 変換する文字列が null のとき : SFERR_INVALID_PARAM

解説

引数に指定された文字列をパスワード入力時に使用する伏字に変換します。 半角文字列は「*(0x2A)」、全角文字列は「*(0x8196)」にそれぞれ変換します。

参照

SFXShiftJIS::IsPassword