2010-07-12 4 views
1

는 :objective-C에서는 NSString에 하나의 문자가 있습니다. 어떻게 그 편지의 ASCII 값을 얻을 수 있습니까? 예를 들어

NSString *foo = @"a"; 

어떻게 이것의 ASCII 값을받을 수 있나요? (나는 그것이 정말로 97 인 것을 안다. 그러나 Objective-C를 사용해서 그것을 어떻게 얻을 수 있는가?)

나는 그것을 char로 변환 할 수 있다고 생각하지만, 지금까지는 그와 운이 없었다. 너무 멍청한 것에 대해 유감스럽게 생각합니다!

답변

2

당신은 반대

unichar asciiChar = 65; // the character A; can also be written like 'A' or 0x0041 
NSString *stringWithAsciiChar = [NSString stringWithCharacters:&asciiChar length:1]; 

그것은 당신이 특정 인덱스에있는 문자를 얻을 수 있습니다

+0

와우! 많이 고맙다! 완벽한 답변, 정말로! – Cashew

+1

일반적으로 올바르지 만 멀티 바이트 언어 (UTF16 이상의 인코딩)에서는이 기능이 잘 작동하지 않습니다. –

1

관련하여 도움이되기를 바랍니다 그

NSString *field = @"s"; 

unichar c = [field characterAtIndex:0]; 
NSLog(@"decimal char %d", c); 

과이 (테스트되지 않은 코드)를 시도 할 수 있습니다 NSStringcharacterAtIndex을 사용하십시오. 결과는 unsigned shortunichar입니다. 유니 코드 문자 임에도 불구하고 이것을 캐스팅하여 ASCII 값으로 사용할 수 있습니다.

관련 문제