4

文字列が ISO 8859-1 で正常にエンコードできる文字のみで構成されているかどうかを確認する方法は? または言い換えれば、文字列内の「違法」/「ISO 8859-1 互換ではない」文字を見つける方法は?

4

3 に答える 3

0

有効な文字の配列またはリストを設定し、文字列を繰り返し処理して、有効な文字のリストにそれぞれが存在するかどうかを確認できます。リストは、すべての有効な latin-1 文字をリストに追加することで作成できます。

于 2013-07-26T09:42:53.150 に答える
0

私はこのアイデアを思いつきました。これは可能でしょうか?

    private static bool IsValidISO(string input)
    {
        foreach (char c in input)
        {
            Encoding iso = Encoding.GetEncoding("ISO-8859-1");
            Encoding utf8 = Encoding.UTF8;

            byte[] isoBytes = iso.GetBytes(c.ToString());
            byte[] utfBytes = Encoding.Convert(iso, utf8, isoBytes);

            string convertedC = utf8.GetString(utfBytes);
            if (c != '?' && convertedC == "?")
                return false;
        }
        return true;
    }
于 2013-07-26T10:05:10.103 に答える