2016-11-22 1 views
0

Ich habe NSString mit "ÔÔÔÎÍÖÂÔ". Ich weiß, dass dieser Text in Windows-1251 Encoding.NSString Konvertierung von Windows-1251 nach Windows-1252

Ich möchte es in Windows-1252 konvertieren und dem Benutzer anzeigen.

Ich versuche, so etwas wie dieses, aber sein Aufstieg Systemausnahme:

NSString* newStr = [[NSString alloc] initWithData:theData encoding:NSWindowsCP1252StringEncoding]; 
+0

Welche Ausnahme genau geworfen wird? Haben Sie Ihren NSString mithilfe der Codierung zuerst in NSData konvertiert? – Larme

+0

@Larme danke für die Frage. Ich verwende einen falschen Ansatz. Ich schreibe Antwort unten. –

+0

@DanilShaykhutdinov Wie erhalten Sie die Zeichenfolge zunächst? Es gibt eine effizientere und direktere Lösung als die, die Sie unten haben. –

Antwort

0

jetzt funktioniert es.

Lösung ist:

var dt = new NSString(str); 
var data = dt.Encode(NSStringEncoding.WindowsCP1252, true); 
var result = new NSString(data, NSStringEncoding.WindowsCP1251);