2010-09-27 14 views
7

sto usando la shell GNUstep per programmare l'obiettivo-c. Sono in grado di convertire una stringa in un set di caratteri. Ma non è possibile stampare il set di caratteri convertito nella console. Per favore dimmi un modo per stamparlo. Grazie in anticipo.come stampare characterset nell'obiettivo c?

risposta

14

Ciò comporterà i primi 65536 caratteri in Unicode, operazione che verrà eseguita per la maggior parte delle situazioni. Credo che l'unicode possa andare molto più in alto (2^32?), Ma ci vorrebbe molto più tempo per registrare.

+ (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); 
    } 
} 

ci sono alcuni abbastanza divertente in cerca risultati, ad esempio, ecco un campione di 20 caratteri da punctuationCharacterSet.

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

+0

deve essere contrassegnato come la risposta credo. –

+0

C'è una soluzione più veloce: http://stackoverflow.com/a/15741737/3050403 – kelin

Problemi correlati