2016-11-22 38 views
0

我有NSString與「自由o伯納」文本。 我知道這個文本在Windows-1251編碼。NSString從Windows-1251轉換到Windows-1252

我想將其轉換爲Windows-1252並顯示給用戶。

我嘗試這樣的事情,但它的崛起系統異常:

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

什麼異常被拋出究竟?你是否使用編碼將你的NSString首先轉換成NSData? – Larme

+0

@Larme謝謝你的提問。我使用錯誤的方法。我在下面寫下答案。 –

+0

@DanilShaykhutdinov你最初如何獲得字符串?有一個比你下面的更有效和直接的解決方案。 –

回答

0

現在它的工作原理。

的解決方案是:

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