0

unichar がアンダースコア (_) またはキャレット (^) と等しいかどうかを検出する必要があります。私は現在、次のようにしています:

unichar ch;
NSString *chAsString = [NSString stringWithFormat:@"%C", ch];
if ([chAsString isEqualToString:@"_"])
    // ... do something ...
else if ([chAsString isEqualToString:@"^"])
    // ... do something else...

質問 #1: この方法は安全ですか?つまり、これらの文字のすべての可能なエンコーディングをキャッチできますか?

質問 #2: これはこれを行うための最もクリーンな方法ですか? ひどくダサいようです。if (ch == 0x5F)しかし、などよりも信頼性が高いと感じています。

4

2 に答える 2

0

また

NSString *str = @"string";
const char *myChar = "some string";
if (strcmp(myChar,  str.UTF8String))

また

[str isEqualToString:[NSString stringWithUTF8String:myChar]];
于 2014-08-21T07:51:58.393 に答える