Ce code codé Unicode est codé en UTF32. .NET et Windows encodent Unicode en UTF16, vous devrez traduire. UTF16 utilise des "paires de substitution" pour gérer les points de code au-dessus de 0xffff, une approche similaire à UTF8. Le premier code de la paire est 0xd800..dbff, le second code est 0xdc00..dfff. Essayez cet exemple de code pour voir que au travail:
using System;
using System.Text;
class Program {
static void Main(string[] args) {
uint utf32 = uint.Parse("1D0EC", System.Globalization.NumberStyles.HexNumber);
string s = Encoding.UTF32.GetString(BitConverter.GetBytes(utf32));
foreach (char c in s.ToCharArray()) {
Console.WriteLine("{0:X}", (uint)c);
}
Console.ReadLine();
}
}
La valeur maximale Unicode n'est-elle pas uniquement FFFF? Quelle est la signification de Unicode 1D0EC? –
la solution la plus proche que j'ai trouvé était celui-ci: http://stackoverflow.com/questions/1615559/converting-unicode-strings-to-escaped-ascii-string mais il a travaillé seulement pour ci-dessous unicode "\ uFFFF " – Jack
Que voulez-vous dire à son symbole? Pendant l'affichage, le symbole est mappé à sa représentation visuelle. Voulez-vous convertir en UTF8? à un encodage particulier? Joel Spolsky a un bon article sur Unicode - c'est déroutant. –