Tengo una aplicación Silverlight que escribe archivos CSV, que tienen que ser codificado en ASCII (con UTF-8 provoca acentuada caracteres que aparecen mal cuando abre los archivos en Excel).
Dado que Silverlight no tiene una clase Encoding.ASCII, implementé una de las siguientes. Funciona para mí, espero que sea útil para usted, así:
/// <summary>
/// Silverlight doesn't have an ASCII encoder, so here is one:
/// </summary>
public class AsciiEncoding : System.Text.Encoding
{
public override int GetMaxByteCount(int charCount)
{
return charCount;
}
public override int GetMaxCharCount(int byteCount)
{
return byteCount;
}
public override int GetByteCount(char[] chars, int index, int count)
{
return count;
}
public override byte[] GetBytes(char[] chars)
{
return base.GetBytes(chars);
}
public override int GetCharCount(byte[] bytes)
{
return bytes.Length;
}
public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex)
{
for (int i = 0; i < charCount; i++)
{
bytes[byteIndex + i] = (byte)chars[charIndex + i];
}
return charCount;
}
public override int GetCharCount(byte[] bytes, int index, int count)
{
return count;
}
public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex)
{
for (int i = 0; i < byteCount; i++)
{
chars[charIndex + i] = (char)bytes[byteIndex + i];
}
return byteCount;
}
}
¿Cómo se relacionan los estándares de codificación de caracteres con encyrption? Según tengo entendido, SHA1 (o cualquier otro algoritmo hash) toma una secuencia de bytes y genera un hash (también una secuencia corta de bytes). ¿Dónde ingresa la codificación de caracteres a la ecuación? – AnthonyWJones
Actualmente, la generación de un hash en C# (para WP7) (Unicode) genera un hash diferente al que PHP genera (ASCII). Vi otra pregunta aquí diciendo que usar 2 codificaciones diferentes genera 2 hachís diferentes. – Dean