이 함수에서는 emotes라는 IBOutlet에 연결된 NSArrayController의 NSTableView에서 선택한 이모티콘을 가져옵니다. 선택한 NSArray의 문자열에는 클립 보드로 전송되는 UTF8 문자가 포함됩니다.NSString 및 UTF8 16 진수 변환
// Get Selected Emoticon
NSArray * selectedemote = [emotes selectedObjects];
NSLog(@"%@",[selectedemote valueForKey:@"emote"]);
// Send to Clipboard
[self copyToClipboard:[NSString stringWithFormat:@"%@",[selectedemote valueForKey:@"emote"]]];
문제는 NSArray 자체에서 발생합니다. 그것은 UTF8 문자열을 16 진수로 출력하는 것 같습니다. 수정 UTF-8 문자에 UTF-8 진수를 변환하는 가능한 방법이
2010-08-23 11:23:56.411 Emoticon[7919:a0f] (
"\\(\U2579\U30ee\U2579)/"
)
거기 다음은 문자열이 NSLog 함수에서 보이는 무엇인가? 감사.
이 문자열은 UTF-8 아무 것도 포함되어 있지 않습니다. UTF-8은 인코딩입니다. 인코딩을 사용하여 문자열에서 데이터를 생성하거나 데이터에서 문자열을 디코딩 할 수 있습니다. 따라서 문자열의 문자를 인코딩하는 UTF-8 데이터 나 UTF-16 데이터를 가질 수 있지만 문자열에는 문자 만 포함됩니다. –