1

Livelink サーバーから、名前にドイツ語の特殊文字を含むファイル/フォルダーおよびその他のアイテム タイプを抽出したいと考えています。Livelink サーバーのエンコーディングは UTF-8 です。 は Test Dokument äöüß です

      var bytes = new List<byte>(value.Length);
        foreach (var c in value)
            bytes.Add((byte)c);
        var retValue = Encoding.UTF8.GetString(bytes.ToArray());

上記のコード サンプルは、一部の文字の s エンコーディングの問題を修正しますが、ß は ? として表示されます。ラテン (ISO 8859-2) エンコーディングの文字。誰でも私が問題を解決するのを手伝ってくれますか?

前もって感謝します

4

2 に答える 2

-1

stringISO-8859-1 はUnicode 文字を格納するため、 C# に格納しても意味がありません。

本当に理にかなっているのは、Unicode を ISO-8859-1 の文字列を表す に変換することstringですbyte[]

var test ="äöüßÄÖÜ";
var iso = Encoding.GetEncoding("ISO-8859-1");
var bytes = iso.GetBytes(test);
File.WriteAllBytes("Sample file ISO-8859-1.txt", bytes);

これを試すと、テキスト ファイルが正しくエンコードされていることがわかります。

16 進エディターまたはデバッガーを使用して、β が 0xDF として正しくエンコードされていることを確認することもできます ( wikipedia の表を参照) 。

于 2013-09-01T09:40:18.033 に答える