I'm really confused about UTF in Unicode.

there is UTF-8, UTF-16 and UTF-32.

my question is :

  1. what UTF that are support all Unicode blocks ?

  2. What is the best UTF(performance, size, etc), and why ?

  3. What is different between these three UTF ?

  4. what is endianness and byte order marks (BOM) ?

Thanks

Edit
Report