📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 456行目: | 456行目: | ||
そのため、実務等で使用する場合は、外部データを<code>QByteArray</code>クラスで受け取り、それを<code>QString</code>クラスに変換する時にエンコーディングを考慮する必要がある。<br> | そのため、実務等で使用する場合は、外部データを<code>QByteArray</code>クラスで受け取り、それを<code>QString</code>クラスに変換する時にエンコーディングを考慮する必要がある。<br> | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
#include <QTextCodec> | |||
// Shift-JISでエンコードされた文字列 | // Shift-JISでエンコードされた文字列 | ||
QString SJISText = QStringLiteral("こんにちは"); // Shift-JISでエンコードされた文字列 | QString SJISText = QStringLiteral("こんにちは"); // Shift-JISでエンコードされた文字列 | ||
| 467行目: | 469行目: | ||
// UTF-8の文字列に変換 | // UTF-8の文字列に変換 | ||
QString utf8String = QString::fromUtf8(shiftJISBytes); | QString utf8String = QString::fromUtf8(shiftJISBytes); | ||
// または | |||
QString utf8String = codec->toUnicode(shiftJISBytes); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
| 478行目: | 482行目: | ||
変換の精度を高めるためには、<code>QTextCodec::ConverterOptions</code>を使用して、変換の挙動を細かく制御することが重要である。<br> | 変換の精度を高めるためには、<code>QTextCodec::ConverterOptions</code>を使用して、変換の挙動を細かく制御することが重要である。<br> | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
#include <QTextCodec> | |||
// UTF-8でエンコードされた文字列 | // UTF-8でエンコードされた文字列 | ||
QString utf8Text = QStringLiteral("こんにちは"); | QString utf8Text = QStringLiteral("こんにちは"); | ||
| 490行目: | 496行目: | ||
==== UTF-8からEUC-JPへ変換 ==== | ==== UTF-8からEUC-JPへ変換 ==== | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
#include <QTextCodec> | |||
// UTF-8でエンコードされた文字列 | // UTF-8でエンコードされた文字列 | ||
QString utf8Text = QStringLiteral("こんにちは"); | QString utf8Text = QStringLiteral("こんにちは"); | ||