20

重複の可能性:
Unicode 文字列をエスケープされた ASCII 文字列に変換する

ä...のようなもの に変換するにはどうすればよい\u0131...ですか?

これを行うための関数はありますか?

追記:

この道のそばに:[申し訳ありません@Kendall Frey :-)]

char a = 'ä';
string escape = "\\u" + ((int)a).ToString("X").PadLeft(4, '0');
4

2 に答える 2

28

char をエスケープ シーケンスに変換する関数を次に示します。

string GetEscapeSequence(char c)
{
    return "\\u" + ((int)c).ToString("X4");
}

ワンライナーよりもはるかに良くなることはありません。

いいえ、私が知る限り、組み込み関数はありません。

于 2012-11-08T14:57:51.937 に答える
8

AFAIKの組み込み関数はありません。これは、機能する非常にばかげたソリューションの1つです。しかし、Kendall Frey は、はるかに優れたバリアントを提供しました。

string GetUnicodeString(string s)
{
    StringBuilder sb = new StringBuilder();
    foreach (char c in s)
    {
        sb.Append("\\u");
        sb.Append(String.Format("{0:x4}", (int)c));
    }
    return sb.ToString();
}
于 2012-11-08T15:04:42.667 に答える