2011-11-12 8 views
1

"123"のような文字列を "\ u0031 \ u0032 \ u0033"のような文字列に変換する必要があります。 .NETでこれを行うにはどうすればよいですか?たとえば :逆変換:.NETで文字列をus-asciiに変換するC#

Encoding enc = Encoding.GetEncoding("us-ascii", 
              new EncoderExceptionFallback(), 
              new DecoderExceptionFallback()); 
      byte[] by = enc.GetBytes(s); 
      string ans = enc.GetString(by); 
      return ans; 

答えて

7

文字列はすでにユニコードなので、Unicodeにユニコードからそれらを変換する必要はありません。あなたはユニコードは文字列エスケープ出力したい場合は

、これを試してみてください。

string ans = string.Concat(s.Select(c => string.Format("\\u{0:x4}", (int)c)).ToArray()); 

結果:

\u0031\u0032\u0033 

オンラインで作業、それを参照してください:ideone

を.NET 4.0のことができてToArrayへの呼び出しを省略してください。

0
string ans = Regex.Replace(s, ".", m => String.Format(@"\u{0:x4}", (int)m.Value[0])); 
関連する問題