1.52 Shift-JIS および UTF-8 の実装

Shift-JIS および UTF-8 のロケールを使用すると、日本語と Unicode 文字を使用できます。

以下の表に、Shift-JIS(日本語文字)または UTF-8(Unicode 文字)のロケールカテゴリを示します。

表 1-7 デフォルトの Shift-JIS ロケールと UTF-8 ロケール

関数 説明
__use_sjis_ctype 文字セットに、日本語文字の Shift-JIS マルチバイトエンコーディングが設定されます。
__use_utf8_ctype 文字セットに、すべての Unicode 文字の UTF-8 マルチバイトエンコーディングが設定されます。
以下に Shift-JIS および UTF-8 エンコーディングの作用を説明します。
  • 通常の ctype 関数は、Shift-JIS での独立文字となるすべてのバイト値に対して正常に動作します。例えば、isalpha() によって半角カタカナはアルファベットとして処理されます。Shift-JIS では、半角カタカナは 0xA60xDF の範囲でシングルバイトとしてエンコードされています。
    UTF-8 エンコーディングでは、ASCII 文字セットと同じ自己完結した文字セットを使用します。
  • mbrtowc()mbsrtowcs()wcrtomb() などのマルチバイト変換関数は、すべて、Unicode のワイド文字列と Shift-JIS または UTF-8 のマルチバイト文字列の間で変換を行います。
  • printf("%ls") では Unicode ワイド文字列が Shift-JIS または UTF-8 出力に変換され、scanf("%ls") では Shift-JIS または UTF-8 入力が Unicode ワイド文字列に変換されます。
関連する参考文書
1.50 C ライブラリのロケールサブシステムのリンク時における選択
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.