2012-04-09 14 views
0

'ç'や 'ñ'のようなユニコード文字でNSStringを使用する際に問題があります。NSStringでユニコード文字を使用する

アルファベットがab√ßdさ

がどのように私はNSStringのは、これらのUnicode文字を処理していることを確認することができます。コンソール上の

NSString *alphabet = @"abçd"; 
NSLog(@"alphabet is %@", alphabet); 

出力する。このような単純な例?私はオンラインとNSStringクラスのリファレンスで検索することでいくつかの異なるアプローチを試みたが、どれもうまくいかないようだ。

ありがとうございます。

答えて

2

あなたはNSStringのは、ファイルへの出力、およびそれから読み取ることによって、それらを正しく取り扱うことを確認することができます...

私は問題はNSStringのではないこと〜100%の確信を持って推測するだろうが、テキストエンコーディングコンソールで期待されるもの、あるいはあなたのソースファイルのテキストエンコーディング...おそらく前者です。

のXcodeのデバッガで私が期待される出力を得る:

alphabet is abçd 

あなたのテスト:

NSString *alphabet = @"abçd";  
[alphabet writeToFile:[@"~/Desktop/charTest.txt" stringByExpandingTildeInPath] atomically:NO encoding:NSUTF8StringEncoding error:nil]; 
0

あなたはUTF-8エンコーディングでNSStringのを初期化しようとすることができます

NSString* newStr = [[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding]; 

コード別の答えから取られました - Convert UTF-8 encoded NSData to NSString

関連する問題