Qtリファレンス QTextCodecのソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[Qt#Qtリファレンス|Qtリファレンス]]へ戻る == '''QTextCodec 概要''' == Qt5.15.2 #include<QTextCodec>をインクルードする必要があります。 QTextCodecクラスは純粋仮想関数を含んでいます。継承して純粋仮想関数(name, mibEnum, convertToUnicord, convertFromUnicode)を新規に定義したクラスを作らないとQTextCodecの実体を作ることは出来ません。以下のようにメンバ関数だけを使うことは簡単に出来ます。 === '''メンバ関数 setCodecForLocale''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">void</span> <span style="color:blue;">QTextCodec::setCodecForLocale</span>(<span style="color:deeppink;">QTextCodec*</span> QTextCodecLocale);</span> <span style="color:deeppink;">void</span> <span style="color:blue;">QTextCodec::setCodecForLocale</span>(<span style="color:blue;">QTextCodec::codecForName</span>("UTF-8")); こんな感じで、テキストのCodecを定義が出来て、文字コードUnicodeのエンコード方式UTF-8を使うことを定義できます。これはQtライブラリで扱う文字に対して、入力として受け取った文字列を自動判別した文字コードをUTF-8へエンコードするという事を宣言するもので、Qtライブラリ内で扱う文字列をICUライブラリを通して、変換して扱うということを意味しています。Qtプロジェクトを立ち上げた時に生成されるQCoreGlobalDataというクラスのオブジェクトでコーデック名称が記憶されるようです。 QTextCodecクラスのメンバ関数setCodecForLocaleの引数にQTextCodec型の戻り値の関数 or QTextCodec型のオブジェクトを指定する形式です。上記の例では以下で説明するようなQTextCodec型の戻り値を持つ関数を引数にしています。 === '''メンバ関数 codecForName''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">QTextCodec*</span> <span style="color:blue;">QTextCodec::codecForName</span>(<span style="color:deeppink;">const char*</span> name)</span> この一つ前に出てきたQTextCodecクラスのメンバ関数の引数に使うもので、引数には文字コードのエンコード方式を指定します。設定できる値は *EUC-JP *ISO 2022-JP *Shift-JIS *UTF-8 *UTF-16 *UTF-16BE *UTF-16LE *UTF-32 *UTF-32BE *UTF-32LE *Big5/Big5-HKSCS/GB18030/HP-ROMAN8/IBM 850/IBM 866/IBM 874/Macintosh/TIS-620/TSCII/CP949/EUC-KR/ ISO 8859-1 to 10/ISO 8859-13 to 16/Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml/KOI8-R/KOI8-U/Windows-1250 to 1258 で、ほぼ全てのコーデックに対応しているといって良いしょう。上記以外の文字を使っているOSがあったら、そんなもの無くなってしまえと思うのだろう。 ※const QByteArray &nameを引数にとる多重定義もされています。 ※Qt4ではQTextCodec::setCodecForLocaleではなくQTextCodec::setCodecForCStringという名前でした。 === '''静的メンバ関数 availableCodecs''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">QList<QByteArray></span> <span style="color:blue;">QTextCodec::availableCodecs</span>()</span> === '''静的メンバ関数 availableCodecs''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">QList<int></span> <span style="color:blue;">QTextCodec::availableMibs</span>()</span> === '''静的メンバ関数 codecForHtml''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">QTextCodec*</span> <span style="color:blue;">QTextCodec::codecForHtml</span>(<span style="color:deeppink;">const QByteArray&</span> ba, <span style="color:deeppink;">QTextCodec*</span> defaultCodec)</span> === '''静的メンバ関数 codecForHtml''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">QTextCodec*</span> <span style="color:blue;">QTextCodec::codecForHtml</span>(<span style="color:deeppink;">const QByteArray&</span> ba)</span> === '''静的メンバ関数 codecForLocale''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">QTextCodec*</span> <span style="color:blue;">QTextCodec::codecForLocale</span>()</span> === '''静的メンバ関数 codecForMib''' === *<span style = "background:linear-gradient(transparent 75%, #ffbf7f 75%); font-weight:bold; "><span style="color:deeppink;">QTextCodec*</span> <span style="color:blue;">QTextCodec::codecForMib</span>(<span style="color:deeppink;">int</span> Mib)</span> [[Qt#Qtリファレンス|Qtリファレンス]]へ戻る
Qtリファレンス QTextCodec
に戻る。
個人用ツール
18.223.239.171
このIPアドレスのトーク
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ