Attualmente sto sviluppando un'applicazione in C# che utilizza Amazon SQS Il limite di dimensione per un messaggio è 8kb.Come determinare la dimensione della stringa e comprimerla
Ho un metodo che è qualcosa di simile:
public void QueueMessage(string message)
All'interno di questo metodo, mi piacerebbe prima di tutto, comprimere il messaggio (la maggior parte dei messaggi sono passati come JSON, così sono già abbastanza piccole)
Se la stringa compressa è ancora più grande di 8kb, la memorizzerò in S3.
La mia domanda è:
Come posso facilmente verificare la dimensione di una stringa, e che cosa è il modo migliore per comprimerlo? Non sto cercando enormi riduzioni di dimensioni, solo qualcosa di bello e facile - e facile da decomprimere l'altra estremità.
Grazie . Come posso determinare la codifica? Non l'ho impostato da nessuna parte ... semplicemente serializzo un oggetto su json (usando json.net lib) – Alex
Domanda: è necessaria la chiamata 'gzip.Close()', considerando che uscire dal blocco 'using' dovrebbe chiuderla Comunque? – tzaman
@alex: avresti scelto tu stesso la codifica durante la serializzazione della stringa in binario. Come dice Marc, UTF-8 è la scelta migliore per le dimensioni, dal momento che molti caratteri occupano solo un byte in questa codifica. –