📢 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("こんにちは");