Bedakan teks dari urutan penyimpanan
RFC 9562 §4 memakai field big-endian secara default, kecuali protokol menetapkan aturan lain secara eksplisit.
Baca kembali ID yang sama di .NET
Kami menjalankan kode pada .NET 10.0.11 tanggal 5 Oktober 2026. ToByteArray() dimulai dengan 33 22 11 00 55 44 77 46; ToByteArray(true), dengan 00 11 22 33 44 55 46 77. Keduanya berakhir dengan 88 99 aa bb cc dd ee ff. Konstruktor default memulihkan string dari array default. Untuk array dengan true, kami memakai konstruktor dengan urutan eksplisit yang sama. Membalik seluruh 16 byte tidak cocok dengan kedua hasil ini.
$id = [guid]'00112233-4455-4677-8899-aabbccddeeff'
$bytes = $id.ToByteArray()
($bytes | ForEach-Object { $_.ToString('x2') }) -join ' '
# 33 22 11 00 55 44 77 46 88 99 aa bb cc dd ee ff
([guid]::new($bytes)).ToString()
# 00112233-4455-4677-8899-aabbccddeeff
$network = $id.ToByteArray($true)
([guid]::new($network, $true)).ToString()
# 00112233-4455-4677-8899-aabbccddeeffApa yang dapat diperiksa di Moyoutil?
Generator saat ini membuat daftar string v4 serta mengubah huruf besar atau tampilan teks/JSON. Ekspor array biner dan konversi endianness GUID tidak tersedia. Simpan string sebagai data uji integrasi dan samakan aturan byte API pengirim dan penerima. Bandingkan string, panjang 16 byte, tiga kelompok awal, lalu delapan byte akhir. Periksa kontrak API sebelum membalik byte untuk memaksakan kecocokan.
const id = '00112233-4455-4677-8899-aabbccddeeff';
const hex = id.replaceAll('-', '');
const bytes = Uint8Array.from(hex.match(/../g), s => parseInt(s, 16));
console.log(new TextEncoder().encode(hex).length, bytes.length);
// 32 16Pertanyaan yang Sering Diajukan
Apakah 32 karakter tanpa tanda hubung merupakan file 16 byte?
Tidak. Dalam kode, UTF-8 menghasilkan 32 byte dari karakter tersebut; membaca setiap pasangan digit heksadesimal menghasilkan 16 byte. Samakan representasi input sebelum membandingkan hash juga.