Tôi phải lưu trữ một số giá trị không đổi (UUID) ở dạng mảng byte trong java, và tôi tự hỏi cách tốt nhất để khởi tạo các mảng tĩnh đó là gì. Đây là cách tôi hiện đang làm nó, nhưng tôi cảm thấy như phải có một cách tốt hơn.Làm cách nào để khởi tạo một mảng byte trong Java?
private static final byte[] CDRIVES = new byte[] { (byte)0xe0, 0x4f, (byte)0xd0,
0x20, (byte)0xea, 0x3a, 0x69, 0x10, (byte)0xa2, (byte)0xd8, 0x08, 0x00, 0x2b,
0x30, 0x30, (byte)0x9d };
private static final byte[] CMYDOCS = new byte[] { (byte)0xba, (byte)0x8a, 0x0d,
0x45, 0x25, (byte)0xad, (byte)0xd0, 0x11, (byte)0x98, (byte)0xa8, 0x08, 0x00,
0x36, 0x1b, 0x11, 0x03 };
private static final byte[] IEFRAME = new byte[] { (byte)0x80, 0x53, 0x1c,
(byte)0x87, (byte)0xa0, 0x42, 0x69, 0x10, (byte)0xa2, (byte)0xea, 0x08,
0x00, 0x2b, 0x30, 0x30, (byte)0x9d };
...
and so on
Có bất kỳ điều gì tôi có thể sử dụng có thể kém hiệu quả hơn nhưng sẽ trông sạch hơn? ví dụ:
private static final byte[] CDRIVES =
new byte[] { "0xe04fd020ea3a6910a2d808002b30309d" };
Ví dụ Ổi làm việc không hoàn toàn như bằng văn bản - nó cần phải được 'base16() thành chữ thường (.) .decode (...) 'nếu bạn có chữ số hex chữ thường thấp hơn. http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/BaseEncoding.html#lowerCase() –
@PeterDeGlopper Phát hiện tốt, tôi đã cập nhật câu trả lời để mã hiện đang xử lý các chuỗi có cả ký tự chữ thường và chữ thường. –