2011-11-12 2 views
1

"123"과 같은 문자열을 "\ u0031 \ u0032 \ u0033"과 같은 문자열로 변환하고 싶습니다. .NET에서 어떻게 할 수 있습니까? 예를 들어 : 반대로 변환 : .NET에서C에서 문자열을 us-ascii로 변환

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

답변

7

문자열은 이미 유니 코드, 그래서 유니 코드로 유니 코드로 변환 할 필요가 없습니다. 당신은 유니 코드 문자열 탈출 출력하려면

,이 시도 :

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]));