2010-09-27 11 views
7

estoy usando GNUstep shell para programación objetivo-c. Puedo convertir cadena a un conjunto de caracteres. Pero no puede imprimir el conjunto de caracteres convertidos en la consola. Por favor, dime una forma de imprimirlo. Gracias por adelantado.cómo imprimir characterSet en el objetivo c?

Respuesta

14

Esto hará los primeros 65536 caracteres en Unicode, lo que hará para la mayoría de las situaciones. Creo que el Unicode puede ir mucho más alto (2^32?), Pero esto llevaría mucho más tiempo para iniciar sesión.

+ (void) logCharacterSet:(NSCharacterSet*)characterSet 
{ 
    unichar unicharBuffer[20]; 
    int index = 0; 

    for (unichar uc = 0; uc < (0xFFFF); uC++) 
    { 
     if ([characterSet characterIsMember:uc]) 
     { 
      unicharBuffer[index] = uc; 

      index ++; 

      if (index == 20) 
      { 
       NSString * characters = [NSString stringWithCharacters:unicharBuffer length:index]; 
       NSLog(@"%@", characters); 

       index = 0; 
      } 
     } 
    } 

    if (index != 0) 
    { 
     NSString * characters = [NSString stringWithCharacters:unicharBuffer length:index]; 
     NSLog(@"%@", characters); 
    } 
} 

Hay algunos resultados de aspecto bastante divertido, por ejemplo, aquí hay una muestra de 20 caracteres de punctuationCharacterSet.

་. ༉ ༊ ་ ་ ་.་.་. ་ ་. ༒ ་,()() ྅

+0

debe marcarse como la respuesta que yo creo. –

+0

Hay una solución más rápida: http://stackoverflow.com/a/15741737/3050403 – kelin