2012年6月28日

如何在iOS讀出繁體中文的檔案


如何在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

沒有留言:

張貼留言