Actualmente estoy desarrollando una aplicación en C# que usa Amazon SQS El límite de tamaño para un mensaje es 8kb.Cómo determinar el tamaño de la cadena y comprimirla
Tengo un método que es algo así como:
public void QueueMessage(string message)
Dentro de este método, me gustaría en primer lugar, comprimir el mensaje (la mayoría de los mensajes se pasan como JSON, por lo que ya son bastante pequeñas)
Si la cadena comprimida es aún mayor que 8 kb, voy a almacenarlo en S3.
Mi pregunta es:
¿Cómo puedo probar fácilmente el tamaño de una cadena, y cuál es la mejor manera de comprimirlo? No estoy en busca de reducciones masivas de tamaño, sólo algo agradable y fácil - y fácil de descomprimir el otro extremo.
Gracias . ¿Cómo determino la codificación? No he puesto esto en cualquier lugar ... yo sólo serializar un objeto a JSON (utilizando el lib json.net) – Alex
pregunta: Es el 'gzip.Close()' llamada es necesario, teniendo en cuenta que sale del bloque 'using' debe cerrarla ¿de todas formas? – tzaman
@alex: Elegiste la codificación tú mismo al serializar la cadena a binario. Como dice Marc, UTF-8 es la mejor opción para el tamaño, ya que la mayoría de los caracteres ocupan solo un byte en esta codificación. –