0

DBからCSVファイルにエクスポートするために、新しいルーマニア語の文字「ășț」をエンコードしようとしています。これらの新しい文字は2000/01のどこかに追加されていますが、フレームワークで使用できるエンコーディングはありません(.net 4.5でも)。

ルーマニアのサイトの1つは、ここで文字の使用法を説明しています。私はMSDNで詳細を参照しましたが、iso-8859-16エンコーディングへの参照はありません。上記のエンコーディングを使用すると、C#は「'ISO_8859-16'はサポートされているエンコーディング名ではありません」という例外をスローします。

誰かが以前にこのエンコーディングを使用したことがありますか?

サンジェイ

4

1 に答える 1

2

.Netには、ISO8859-16のサポートが組み込まれていません。最も簡単な解決策は、UTF-8などのUnicodeエンコーディングに切り替えることです。

それでもISO8859-16が必要な場合は、自分で実装できます。Encodingクラスは拡張可能です。参考として、ウィキペディアまたはMSDNを参照してください

EBCDICの例については、この回答を参照してください:Roman8文字セットの独自のエンコーディングを作成する

抽象メソッドを実装する必要があります。

int GetByteCount(char[], int, int)
int GetBytes(char[], int, int, byte[], int)
int GetCharCount(byte[], int, int)
int GetChars(byte[], int, int, char[], int)
int GetMaxByteCount(int)
int GetMaxCharCount(int)

そして多分仮想メンバー:

bool IsSingleByte { get; }
string EncodingName { get; }
于 2013-03-26T15:17:39.813 に答える