Unicode比较是如何编码的? 我需要像下面这样进行精确测试,检查字符串中的特定字母。 以下代码出现错误:警告:指针和整数之间的比较
for (charIndex = 0; charIndex < [myString length]; charIndex++)
{
unichar testChar = [myString characterAtIndex:charIndex];
if (testChar == "A")
// do something
if (testChar == "B")
// do something
if (testChar == "C")
// do something
}
unichar
是否为‘A’可能会导致问题——例如,如果某人写了‘Ä’,它可能会被编码为0041 0308
,在这种情况下,您的代码将从0041
检测到‘A’,或者它可能被编码为00C4
,在这种情况下,您的代码将无法识别它。 - al45tair