2012-04-26 2 views
0

カスタムロガーを使用して、テキストベースのゲーム用のクリーンコンソール出力を提供しようとしています。あなたが見ることができるように、カスタムロギングメソッドObjective-Cのハイページ文字でMyLogが機能しない

2012-04-26 00:08:53.614 TextCraft[11319:a0f] Unicode text: ♥ 
2012-04-26 00:08:53.617 TextCraft[11319:a0f] ASCII Text 
ASCII text 

NSLog(@"Unicode text: \u2665"); 
NSLog(@"ASCII Text"); 
MyLog(@"Unicode text: \u2665"); 
MyLog(@"ASCII text"); 

と出力:

void MyLog(NSString *format, ...) 
{ 
    va_list args; 
    va_start(args, format); 
    NSString *formattedString = [[NSString alloc] initWithFormat:format arguments: args]; 
    va_end(args); 
    [[NSFileHandle fileHandleWithStandardOutput] writeData:[formattedString dataUsingEncoding: NSNEXTSTEPStringEncoding]]; 
    [formattedString release]; 
} 

、ここではそれを、この例の使用は次のとおりです。以下は問題のメソッドのコードです。 MyLog関数はローページ文字に対しては正常に動作しますが、ハイページ文字を印刷しようとすると、単に行全体をスキップします。誰がなぜこれが分かっていますか?

答えて

1

あなたはNSNEXTSTEPStringEncodingを-dataUsingEncoding:の呼び出しで使用しています。これは単にASCIIといくつかの追加です。 Unicodeをサポートしたい場合は、NSUTF8StringEncodingのような適切なエンコーディングを使用する必要があります。

+0

ありがとうございました! – Supuhstar

関連する問題