ual versão do Unicode é suportada por qual plataforma .NET e em qual versão do Windows em relação às classes de caractere

Pergunta atualizada ¹

om relação às classes de caracteres, comparação, classificação, normalização e agrupamentos, que versão ou versões Unicode são suportadas por quais plataformas .NE

Pergunta original

Lembro-me um pouco vagamente de ter lido que o .NET suportava a versão 3.0 do Unicode e que a codificação UTF-16 interna não é realmente UTF-16, mas na verdade usa o UCS-2, que não é o mesmo. Parece, por exemplo, que caracteres acima de U + FFFF não são possíveis, ou seja, considere:

string s = "\u1D7D9"; // ("Mathematical double-struck digit one") 

e ele armazena a string"ᵽ9".

Estou basicamente procurando referências definitivas de respostas para o seguinte:

Se não é verdadeiro UTF-16 no .NET, o que é isso?Qual versão do Unicode é suportada pelo .NET?e versões recentes não forem suportadas ou planejadas em um futuro próximo, alguém conhece uma biblioteca (não) comercial ou como posso solucionar esse problem

¹) Atualizei a pergunta com o passar do tempo, parece mais apropriado em relação às respostas e à comunidade em geral. Deixei a pergunta original no lugar de quais partes foram respondidas nos comentários. Além disso, o antigo UCS-2 (sem substitutos) foi usado nas versões antigas do Windows de 32 bits, o .NET sempre usou UTF-16 (com substitutos) internamente.

questionAnswers(8)

yourAnswerToTheQuestion