Có tương đương với loại int8 hoặc byte trong các ảnh ghép proto không? Tôi muốn gửi một đối tượng mảng byte.Làm thế nào để mã hóa byte [] trong các ảnh chụp proto
Trả lời
Đáng tiếc là vẫn serializes thành các chuỗi trong java. Nhưng nhờ các liên kết. –
Không, theo tài liệu, loại Java tương ứng là 'ByteString'. Bạn có thể tự lấy mảng byte bằng phương thức 'toByteArray'. – JesperE
Trong trường hợp bạn đã có mảng byte [] chỉ cần sử dụng LiteralByteString để bạn không phải sao chép nó. – marios
Nếu bạn đang tìm kiếm để lưu trữ một byte đơn, tuy nhiên, tôi sẽ đề nghị sử dụng Int32. Nó là biến kiểu 'biến thể' sẽ thay đổi kích thước tùy thuộc vào dữ liệu được lưu trữ trong đó. Vì vậy, nếu bạn đang lưu trữ một byte đơn, nó sẽ là cấu trúc nhỏ nhất. Kiểu dữ liệu byteS thực sự là khá lớn so với. Điều này là do cấu trúc byte chứa dữ liệu như độ dài chỉ mục và các thuộc tính khác.
Khi tuần tự hóa, tôi nhận thấy sự khác biệt về kích thước khoảng một nửa khi chuyển từ một byte đơn được lưu trữ trong byte sang int32.
Lưu ý, tuy nhiên, này không áp dụng đối vớinhiều byte được lưu trữ trong các byte, mà tôi nghi ngờ sẽ nhỏ hơn nhiều so với việc lưu trữ cá nhân Int32.
Lớp ByteString cung cấp phương pháp để chuyển đổi một vài loại để loại protobuff "byte" hoặc ByteString
public static ByteString CopyFrom(params byte[] bytes);
public static ByteString CopyFrom(string text, Encoding encoding);
một câu hỏi cho buff proto thực :) Hoặc cho buff tài liệu hướng dẫn thực ... – sehe