2012-02-15 9 views

Respuesta

32

Regex.Unescape hizo el truco:

System.Text.RegularExpressions.Regex.Unescape(@"Sch\u00f6nen"); 

Tenga en cuenta que hay que tener cuidado al probar sus variantes o pruebas de la unidad de escritura: "Sch\u00f6nen" es ya "Schönen". Necesita @ delante de la cuerda para tratar \u00f6 como parte de la cadena.

1

Si llegó a esta pregunta porque ve "Sch\u00f6nen" (o valores similares \uXXXX en cadena constante) - no es la codificación. Es una manera de representar caracteres Unicode como secuencia de escape similar a cómo la cadena representa Nueva línea por \n y devolver por \r.

No creo que tenga que decodificar.

string unicodestring = "Sch\u00f6nen"; 
Console.WriteLine(unicodestring); 

Schönen salió.

+0

Bueno, aparece como "Sch \ u00f6nen" cuando lo emito en el emulador de Windows Phone, por lo que debe ser escapado. El usuario que respondió mi pregunta y luego eliminó su publicación obtuvo la respuesta correcta, no sé por qué la eliminó. –

+0

Lo intenté en la aplicación de consola. La plataforma WP puede ser diferente. – findcaiyzh

+1

Creo que ustedes dos no se entendieron :) @findcaiyzh, si actualiza su ejemplo con 'string unicodestring =" Sch \\ u00f6nen ";' obtendrá el caso @M_K está hablando. Este escenario es habitual cuando se trabaja con el resultado JSON, recuperado de un punto final remoto. –

0

¿Has mirado las clases System.Text.Encoding? Usted puede ser capaz de utilizar la codificación UTF-8 para decodificar el contenido cadena Unicode

+0

No hay nada en las clases de Text.Encoding que elimine ese texto. –

Cuestiones relacionadas