Предполагая, что вы хотите получить полную строку без потерь, вы можете использовать следующий код:
NSString *myString = ...;
NSUInteger len = [myString lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
char *buf = malloc(len + 1);
if ([myString getCString:buf maxLength:(len + 1) encoding:NSUTF8StringEncoding]) {
// pANTLR3_UINT8 is equivalent to ANTLR3_UINT8*
pANTLR3_UINT8 theExpression = (pANTLR3_UINT8) buf;
}
free(buf);
Конечно, вы можете использовать другую кодировку, если потеря символа не важна.