Tôi hiện đang phát triển một ứng dụng trong C# sử dụng Amazon SQS Giới hạn kích thước cho thư là 8kb.Cách xác định kích thước của chuỗi và nén nó
Tôi có một phương pháp mà là một cái gì đó như:
public void QueueMessage(string message)
Trong phương pháp này, tôi muốn trước hết, nén thông điệp (hầu hết các tin nhắn được thông qua tại như json, như vậy là đã khá nhỏ)
Nếu chuỗi nén vẫn lớn hơn 8kb, tôi sẽ lưu nó trong S3.
Câu hỏi của tôi là:
Tôi có thể dễ dàng kiểm tra kích thước của chuỗi và cách tốt nhất để nén chuỗi là gì? Tôi không tìm kiếm giảm kích thước lớn, chỉ cần một cái gì đó tốt đẹp và dễ dàng - và dễ dàng để giải nén đầu kia.
Cảm ơn . Làm cách nào để xác định mã hóa? Tôi đã không đặt này bất cứ nơi nào ... tôi chỉ cần serialize một đối tượng để json (sử dụng json.net lib) – Alex
Câu hỏi: là 'gzip.Close()' gọi cần thiết, xem xét thoát khỏi 'sử dụng' khối nên đóng nó dù sao? – tzaman
@alex: Bạn đã chọn mã hóa chính mình khi tuần tự hóa chuỗi thành nhị phân. Như Marc nói, UTF-8 là lựa chọn tốt nhất cho kích thước, vì hầu hết các ký tự chỉ chiếm một byte trong mã hóa này. –