C 日本語文字列 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(マルチバイト文字列、ワイド文字列)
(マルチバイト文字列、ワイド文字列)
94行: 94行:
 
int main() {
 
int main() {
 
     _tsetlocale( LC_ALL, _T("Japanese"));
 
     _tsetlocale( LC_ALL, _T("Japanese"));
     TCHAR cStr0[]=_T("よねウィキyonewiki");
+
     TCHAR cStr0[]=_T("表示:よねウィキの機能<yonewiki>");
 
     _tprintf(_T("cStr0=%s sizeof=%d StrCount=%d"), cStr0,sizeof(cStr0),_tcslen(cStr0));
 
     _tprintf(_T("cStr0=%s sizeof=%d StrCount=%d"), cStr0,sizeof(cStr0),_tcslen(cStr0));
 
}
 
}
100行: 100行:
 
出力結果は
 
出力結果は
 
<syntaxhighlight lang="cpp" line start="1">
 
<syntaxhighlight lang="cpp" line start="1">
cStr0=よねウィキyonewiki sizeof=28 StrCount=13
+
cStr0=表示:よねウィキの機能<yonewiki> sizeof=44 StrCount=21
 
</syntaxhighlight>
 
</syntaxhighlight>
 
となります。
 
となります。
 +
TCHAR型のユニコード(UTF-16)設定にした場合、wchar_t型のcStr0は配列番号0~21の22の大きさを持つ配列になります。<br />
 +
Unicode文字セットですのでShft_JISとは異なる数値が使われますが、0番から順に<br />
 +
0x8868(表),0x793A(示),0xFF1A(:),0x3088(よ),0x306D(ね),0x30A6(ウ),0x30A3(ィ),0x30AD(キ),0x306E(の),0x6A5F(機),0x80FD(能)<br />
 +
0x003C(<nowiki><</nowiki>),0x0079(y),0x006F(o),0x006E(n),0x0065(e),0x0077(w),0x0069(i),0x006B(k),0x0069(i),0x003E(<nowiki>></nowiki>),0x0000(\0)<br />
 +
のように格納されています。
 
あんまり変わり映えしませんが、プロジェクトの設定に従うという意味ではTCHAR型を使うのが少しお勧めです。<br />
 
あんまり変わり映えしませんが、プロジェクトの設定に従うという意味ではTCHAR型を使うのが少しお勧めです。<br />
 +
気を付けなければならないのは、Shift_JIS(CP932)コード文字セットで格納された配列をユニコード文字セットのプロジェクトで受け取ったり、<br />
 +
その逆のことが起こったりする場合には変換が必要になったりと、いいことばかりではありません。<br />
 +
この他、文字コードにはShift_JIS(CP932)ではないShift_JISやEUCやMac日本語といった文字コードもあり、可能性だけで考えると<br />
 +
Unicode:UTF-8/UTF-16/UTF-32<br />
 +
Shift_JIS:CP932/shift_jis/shift_jis2000/shift_jis2004<br />
 +
Mac:x-mac-japanese<br />
 +
EUC:CP51932/CP20932/euc-jp2000/euc-jp2004/eucJP-ms<br />
 +
JIS:CP50220/ISO-2022-JP/ISO-2022-JP-1/ISO-2022-JP-2004/ISO-2022-JP-3<br />
 +
JIS 1Byte:ISO-2022-JP/CP50221<br />
 +
といった文字コードが存在し、外国語文字コードセットも含めるとかなりの数の文字コードが世界に広がっています。<br />
 +
Unicodeも扱いがいくつかあるため、実はもう少し勉強しないといけないです。<br />
 +
<br />
 
<br />
 
<br />
 
WindowsのVisualStudioなどでWin32 APIを使える環境であれば、以下のような型もあります。<br />
 
WindowsのVisualStudioなどでWin32 APIを使える環境であれば、以下のような型もあります。<br />

2013年11月21日 (木) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス