2010-09-09 21 views
0

如何讀寫使用UTF8N的NSString?我使用它來加載一個UTF-8文件,它似乎與UTF-8N一起工作。如何讀寫使用UTF8N的NSString?

NSString *string = [NSString stringWithContentsOfFile:destPath encoding:NSUTF8StringEncoding error:&error];

問題是,當我保存文件與

[string writeToFile:tempFile atomically:YES encoding:NSUTF8StringEncoding error:&error];

的文件是不是在電腦上一個普通的文本編輯器讀取。儘管如此,我仍然可以將該文件作爲UTF-8文件讀取。

我錯過了什麼?

+3

什麼是UTF-8N? – kennytm 2010-09-09 11:53:54

+0

當您嘗試打開文件時,文本編輯器會告訴您什麼? – Wevah 2010-09-09 13:19:48

+0

嘗試打開您的原始文件和您的程序在十六進制編輯器中寫入的文件,並比較原始字節值。這應該讓你知道發生了什麼。可能是一個字節順序標記的問題? – Sven 2010-09-09 18:43:17

回答

0

到文件的猜測和檢查的一堆發現NSShiftJISStringEncoding的伎倆。

0

試着寫的字符串,不提供任何編碼

 [string writeToFile:tempFile atomically:YES]; 
+0

該方法已被棄用,但我認爲它可以用於追蹤錯誤的位置。 – Wevah 2010-09-09 13:25:09

+0

這就是我開始的地方,但我猜它值得一試。 – respectTheCode 2010-09-11 11:26:37