Probably, there is something you don't understand. Both .NET and Web use Unicode, but in Web there are also many obsolete encodings. The only valid method of encoding which could show text of the different languages (depends on what languages though) these days is Unicode.
There is no a single Unicode encoding. Unicode is just a table if one-to-one correspondence of characters (as cultural entities, abstracted from fonts, styles, encoding and other details) and integer values called
code points (code points are understood as abstract mathematical integer numbers, abstracted from binary presentation, size, little- or big- endian and other technical detail; this is all covered in encodings). Unicode also defines several UTFs which represent physical encoding of code points.
No, Unicode is not 16-bit encoding! Full set of code point needs way more than 16-bits.
All UTFs support code points beyond 16 bits.
Now, there are no languages. There are
scripts, sub-sets of the code points. For example Hindi is supported by Devanagari script which also supports many most used languages of India, including Sanscrit.
See
http://unicode.org/[
^],
http://unicode.org/faq/utf_bom.html[
^].
—SA