Dans cette fonction, j'obtiens l'émoticône sélectionnée de NSTableView du NSArrayController connectée à un IBOutlet appelé emotes. La chaîne dans le NSArray sélectionné contient des caractères UTF8 qui sont envoyés au Presse-papiers.Conversion Hex NSString et UTF8
// Get Selected Emoticon
NSArray * selectedemote = [emotes selectedObjects];
NSLog(@"%@",[selectedemote valueForKey:@"emote"]);
// Send to Clipboard
[self copyToClipboard:[NSString stringWithFormat:@"%@",[selectedemote valueForKey:@"emote"]]];
Le problème provient du NSArray lui-même. Il semble sortir la chaîne UTF8 en hexadécimal. Voici ce que la chaîne ressemble à de la fonction NSLog:
2010-08-23 11:23:56.411 Emoticon[7919:a0f] (
"\\(\U2579\U30ee\U2579)/"
)
est-il un moyen possible de convertir l'hexagone UTF-8 à un caractères UTF-8? Merci.
Une chaîne ne contient rien UTF-8. UTF-8 est un codage; vous utilisez un encodage pour produire des données à partir d'une chaîne (ou pour décoder une chaîne à partir de données). Ainsi, vous pourriez avoir des données UTF-8 ou des données UTF-16 encodant les caractères de la chaîne, mais la chaîne contient simplement des caractères. –