SORU
26 HAZİRAN 2012, Salı


Nasıl Java bayt bir dizi başlatmak mı?

Java byte dizisi şeklinde bazı sabit değerler (olacak biçimde) saklamak için, ve bu statik bir dizi başlatmak için en iyi yolu ne olacağını merak ediyorum. Bu şu anda nasıl yaptığımı, ama daha iyi bir yolu olmalı gibi hissediyorum.

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

Daha az etkili olabilir, ama daha temiz görünecek kullanabileceğim bir şey var mı? örneğin:

private static final byte[] CDRIVES =
    new byte[] { "0xe04fd020ea3a6910a2d808002b30309d" };

CEVAP
26 HAZİRAN 2012, Salı


Bir fonksiyonu byte[], hexa bir dize dönüştürme kullanarak yapabilir

byte[] CDRIVES = hexStringToByteArray("e04fd020ea3a6910a2d808002b30309d");

İşlevi Convert a string representation of a hex dump to a byte array using Java? Dave L tarafından tanımlanan kullanmanızı öneririm

Maksimum okunabilirlik için Burada: İ Ekle

public static byte[] hexStringToByteArray(String s) {
    int len = s.length();
    byte[] data = new byte[len / 2];
    for (int i = 0; i < len; i  = 2) {
        data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
                               Character.digit(s.charAt(i 1), 16));
    }
    return data;
}

Eğer CDRİVES izin verirsen static final, performans düşüşü ilgisi yoktur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011
  • newreleaseblitz

    newreleasebl

    13 Ocak 2010
  • SaraBeautyCorner - Nails and Nail Art Designs, DIY, Fashion & Makeup Tutorial

    SaraBeautyCo

    7 EKİM 2012