[ブログに戻る](/ja/blog) # OdString および OdAnsiString クラスを使用したコードの変換

Sergey Zaitsev 2月 23, 2017 [\#conversion](/ja/blog/tag/conversion) [\#Example](/ja/blog/tag/example)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

開発者がマルチバイトコーディングから Unicode または UTF へ、そしてその逆へテキストを変換したい場合があります。この目的のために、OdString および OdAnsiString クラスを使用できます。Teigha バージョン 4.3.0 以降、CP\_UTF\_8 コーディングがサポートされるコーディングリストに含まれるようになりました。

たとえば、UTF-8 コーディングの次の文字配列は、ロシア語で「Test string」です。

```
char testStr[] = { '\xD0', '\xA2', '\xD0', '\xB5', '\x63', '\xD1', '\x82', '\xD0', '\xBE', '\xD0', '\xB2', '\xD0', '\xB0', '\xD1', '\x8F', '\x20', '\xD0', '\xA1', '\xD1', '\x82', '\xD1', '\x80', '\xD0', '\xBE', '\xD0', '\xBA', '\xD0', '\xB0', 0 };
```

初期化された UTF-8 ANSI 文字列は次のとおりです。

```
OdAnsiString ansiStr(testStr, CP_UTF_8);
```

ASCII バッファのみを持つ OdString は次のとおりです。

```
OdString unicodeStr(ansiStr);
```

ここでは、変換の結果として Unicode バッファへのポインタとして pStr を取得します。

```
const OdChar *pStr = unicodeStr.c_str();
```

unicodeStr は、両方のバッファ (ASCII と Unicode) が同期されています。unicodeStr から OdAnsiString を取得するには、内容が一定である限り、ASCII バッファは変換なしで使用されます。

これで、初期化された Unicode 文字列が得られました。

```
OdString unicodeStr1(pStr);
```

unicodeStr1 は、初期化された Unicode バッファのみを持っています。

ここでは、sAnsiUtf8 で UTF-8 テキストを取得します。

```
OdAnsiString sAnsiUtf8(nStr, CP_UTF_8);
```

ここでは、sAnsi1251 で ANSI\_1251 テキストを取得します。

```
OdAnsiString sAnsi1251(sStr, CP_ANSI_1251);
```

ここでは、コードページ ANSI\_1251 を持つ ASCII テキストを使用して OdString を初期化します。

```
OdString sStr1251(sAnsi1251);
```

そして、ここではバッファの同期中の変換の結果として Unicode 文字列を取得します。

```
const OdChar *pStr = nStr1251.c_str();
```

## 今すぐ始める

**ODAソフトウェアを60日間無料でお試しください。  
リスクなし、クレジットカード不要。**

[無料で試す](https://www.opendesign.com/ja/free-trial)
