J'ai une question très simple que je n'arrive pas à comprendre. J'ai une UTF8-String correctement codée que j'analyse en un JObject avec Json.NET, bidouille avec quelques valeurs et l'écris à la ligne de commande, gardant les caractères encodés intacts.Sortie C# UTF8 garder les caractères encodés intacts
Tout fonctionne très bien sauf pour garder les caractères codés intacts.
code:
var json = "{roster: [[\"Tulg\u00f4r\", 990, 1055]]}";
var j = JObject.Parse(json);
for (int i = 0; i < j["roster"].Count(); i++)
{
j["roster"][i][1] = ((int)j["roster"][i][1]) * 3;
j["roster"][i][2] = ((int)j["roster"][i][2]) * 3;
}
Console.WriteLine(JsonConvert.SerializeObject(j, Formatting.None));
sortie réelle:
{"roster":[["Tulgôr",2970,3165]]}
sortie souhaitée:
{"roster":[["Tulg\u00f4r",2970,3165]]}
Il semble que mon phrasé dans Google est inappropriée car rien utile est venu. Je suis sûr que c'est quelque chose d'ultra-facile et je me sentirai très bête après. :)
À droite, mais je ne veux pas que le caractère soit interprété dans la sortie. Je veux voir la représentation unicode sur la ligne de commande, donc je peux copier-coller la chaîne résultante dans une application tierce qui nécessite le \ u, car elle ne semble pas correctement analyser l'entrée autrement. –
Ok, il semble que votre application tierce attend ASCII ou UTF-8. Lorsque vous copiez et collez, vous copiez et collez UTF-16. Ce que vous voulez, c'est un code d'échappement ASCII codé Unicode. @ La réponse de Bradley devrait faire l'affaire. –