Soru: ByteArray'ı GUID'e nasıl dönüştürebilirim.ByteArray öğesini UUID java'ya dönüştürme
Önceden, yönergemi bayt dizisine dönüştürdüm ve bazı işlemlerden sonra, kılavuzumun bayt dizisinden geri dönmesine ihtiyacım var. Bunu nasıl yaparım. Guid alakasız ama dönüşüm byte rağmen []
public static byte[] getByteArrayFromGuid(String str)
{
UUID uuid = UUID.fromString(str);
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
return bb.array();
}
aşağıda gibidir ama nasıl onu geri dönüştürebilirim ??
ben bu yöntemi denedim ama onun bana Herhangi bir yardım takdir edilecektirpublic static String getGuidFromByteArray(byte[] bytes)
{
UUID uuid = UUID.nameUUIDFromBytes(bytes);
return uuid.toString();
}
aynı değeri dönen değil.
Açıklama için: _Specially_ Hashing ve bazı _black magic_ :) –
'Kara büyü' hakkında daha spesifik olmak gerekirse (gerçekten neyin gerçekleştiğini gerçekten açmaz), http: // docs'a bir göz atın. oracle.com/javase/7/docs/api/java/util/UUID.html. Yani, 'public UUID (uzun MostSigBits, en azından en azSigBits)' istediğiniz herhangi bir UUID'yi yapılandırabilir. Muhtemelen, 1, 2, 3 veya 4'ten farklı türlerde geçersiz UUID'ler yapabiliriz - ancak bunu doğrulamamışımdır. nameUUIDFromBytes 'yalnızca 3 UUID tipini oluşturacaktır. –