UTF-8, UTF-16, dan UTF-32

Apa perbedaan antara UTF-8, UTF-16, dan UTF-32? Saya mengerti bahwa mereka semua akan menyimpan Unicode, dan masing-masing menggunakan jumlah byte yang berbeda untuk mewakili karakter. Apakah ada keuntungan memilih satu dari yang