Mi cruda archivo de entrada archivo de texto que contiene una cadena:

Caf&eacute (Should be Café)

El archivo de texto es un archivo UTF8.

La salida digamos que es otro archivo de texto, por lo que no es necesariamente para una página web.

Lo que C# método(s) se puede utilizar para la salida en el formato correcto, Café?

Al parecer, un problema común?

  • &eacute debe tener un ; terminator char siguiente para hacer la é correctamente.
  • Que va a ser un problema! Causa de nuestros archivos raw no contiene ningún terminadores…Presa.
  • Sí, que va a ser un gran problema… usted tendrá que «masaje» los datos de algo con el fin de utilizar las soluciones de…
InformationsquelleAutor Fixer | 2012-03-26

5 Comentarios

  1. 4

    ¿Has probado System.Web.HttpUtility.HtmlDecode("Café")? devuelve 538M resultados

    • Gracias, pero de esto ni esto funciona: el Sistema.Web.HttpUtility.UrlDecode(«Caf&eacute»)
    • Usted necesita un punto y coma al final de su entidad é
    • te refieres a como: string s = Sistema.Web.HttpUtility.UrlDecode(«Café»); ?
    • Saludos que molestos semi colon borra todo hasta ahora!
    • Bonito copypaste 🙂
  2. 2

    Este es el HTML de texto codificado. Usted necesita para decodificar:

    string decoded = HttpUtility.HtmlDecode(text);

    ACTUALIZACIÓN: francés símbolo «é» tiene código HTML «é» por lo tanto, usted necesita para reparar su cadena de entrada.

    • No lo siento no funciona? cadena decodificada = Sistema.Web.HttpUtility.HtmlDecode(«Caf&eacute»);
    • Eso es porque usted debe agregar ‘;’ al final de la Café
  3. 2

    Debe utilizar SecurityElement.Escape cuando se trabaja con archivos XML.

    HtmlEncode se codifican una gran cantidad de entidades que no son necesarios. XML sólo requiere que usted escape >, <, &, «y», que SecurityElement.Escape hace.

    Al leer el archivo de nuevo a través de un analizador de XML, esta conversión se hace para que el analizador, que no es necesario para «decodificar» es.

    EDIT: por supuesto, esto sólo es útil cuando escrito archivos XML.

    • k, me estoy quitando mi comentario, jajaja
    • Esta es una genial manera para la desinfección de entrada para Html así. Cuando se utiliza HttpUtility.Codificar también se codifican los caracteres acentuados que se muestra codificada en las entradas (no deseado). Usando esto sólo 5 elementos se mostrarán como codificados, la bruja es aceptable para mí. Gracias.
  4. 0

    Creo que esto funciona:

    string utf8String = "Your string";
    
    Encoding utf8 = Encoding.UTF8;
    Encoding unicode = Encoding.Unicode;
    
    byte[] utf8Bytes = utf8.GetBytes(utf8String);
    
    byte[] unicodeBytes = Encoding.Convert(utf8, unicode, utf8Bytes);
    
    char[] uniChars = new char[unicode.GetCharCount(unicodeBytes, 0, unicodeBytes.Length)];
    unicode.GetChars(unicodeBytes, 0, unicodeBytes.Length, uniChars, 0);
    
    string unicodeString = new string(uniChars);
    • Gracias pero no de trabajo: cadena de decodedString = utf8.GetString(utf8.GetBytes(«Caf&eacute»));
  5. 0

    Uso HttpUtility.HtmlDecode. Ejemplo:

    class Program
    {
        static void Main()
        {
            XDocument doc = new XDocument(new XElement("test", 
                HttpUtility.HtmlDecode("caf&eacute;")));
    
            Console.WriteLine(doc);
            Console.ReadKey();
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here