SORU
11 Mart 2012, Pazar


Nasıl Java hex bir dize bir bayt dizisi dönüştürmek için?

Bir bayt dizisi hex numaraları ile doldurdum ve kolay bir şekilde baskı birçok basılabilecek bir unsur vardır, çünkü çok anlamsız. İhtiyacım olan şey şeklinde kesin hexcode: 3a5f771c

CEVAP
24 Mart 2012, CUMARTESİ


Tartışma* *3, ve özellikle de this cevap, bu şu anda işlevini kullanın

final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
public static String bytesToHex(byte[] bytes) {
    char[] hexChars = new char[bytes.length * 2];
    for ( int j = 0; j < bytes.length; j   ) {
        int v = bytes[j] & 0xFF;
        hexChars[j * 2] = hexArray[v >>> 4];
        hexChars[j * 2   1] = hexArray[v & 0x0F];
    }
    return new String(hexChars);
}

Kendi küçük benim kriterler (milyon bayt bin kere, 256 10 milyon kez bayt) başka bir alternatif, uzun diziler yarım saatten çok daha hızlı olarak gösterdi. Aldım cevabı göre, bit geçiş --- uzun diziler için zaman indirim hakkında tartışma --- kes önerdi ops. (Edit: alternatifler daha iyi derken, diğer kod tartışmalarda teklif etti. Performansı çok benzer bir kod kullandığı Kodek Avam, eşdeğerdir.)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • UlyssesForever's channel

    UlyssesForev

    28 ŞUBAT 2012