如何在iOS讀出繁體中文的檔案:
準備兩個檔;一個是以Big5寫的, e.g. translation01.txt
另一個是以UTF-8寫的,e.g. UTF8.txt
#import <Foundation/Foundation.h>
/** 讀出中文檔案內容 **/
int main (int argc, const char * argv[])
{
@autoreleasepool {
NSLog(@"** begin **");
NSString * strBig5, *strUTF8, *strUTF_8;
//Big5
NSLog(@"\n\n** 這是繁體中文Big5的實驗 **");
NSStringEncoding encBig5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5);
strBig5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/Android/Resources/txt/translation01.txt" encoding:encBig5 error:nil];//OK
NSLog(@"%@\n\n", strBig5);
//UTF─8
NSLog(@"** 這是繁體中文UTF-8的實驗 **");
strUTF_8 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/Android/Resources/txt/UTF8.txt" encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@\n\n", strUTF_8);
//UTF8:舊式
NSLog(@"** 這是UTF8的實驗(舊式) **");
NSStringEncoding encUTF8 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingUTF8);
strUTF8 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/Android/Resources/txt/UTF8.txt" encoding:encUTF8 error:nil];
NSLog(@"%@", strUTF8);
}
return 0;
}
結果:
2012-06-28 22:51:53.146 InitiationChap10[912:903] ** begin **
2012-06-28 22:51:53.150 InitiationChap10[912:903]
** 這是繁體中文Big5的實驗 **
2012-06-28 22:51:53.160 InitiationChap10[912:903] 1.她是像天使般的女性。
She is an angel of a woman.
2.排山巨浪湧過來了。
A mountain of a wave came near.
3.這幾乎是不可能的。
This is all but impossible.
4.她就像是死了一樣。
She is all but dead.
5.他們並非全部都滿意這項結果。
All of them were not satisfied with the result.
2012-06-28 22:51:53.161 InitiationChap10[912:903] ** 這是繁體中文UTF-8的實驗 **
2012-06-28 22:51:53.162 InitiationChap10[912:903] 這是utf8的實驗,希望能顯示繁體中文。
2012-06-28 22:51:53.164 InitiationChap10[912:903] ** 這是UTF8的實驗(舊式) **
2012-06-28 22:51:53.165 InitiationChap10[912:903] 這是utf8的實驗,希望能顯示繁體中文。
Program ended with exit code: 0
P.S.
簡體中文的話,得改成:kCFStringEncodingGB_18030_2000
沒有留言:
張貼留言