我试图将NSString转换为unsigned char * for iphone应用程序。我是新近为这个目标C和iPhone应用程序,所以请帮助。是否有任何API可以帮助将NSString转换为无符号字符*。将NSString转换为unsigned char * for iphone应用程序
感谢, KamalBhr
我试图将NSString转换为unsigned char * for iphone应用程序。我是新近为这个目标C和iPhone应用程序,所以请帮助。是否有任何API可以帮助将NSString转换为无符号字符*。将NSString转换为unsigned char * for iphone应用程序
感谢, KamalBhr
你可以尝试使用
- (const char *)cStringUsingEncoding:(NSStringEncoding)encoding
NSString reference是你的帮助。 NSString有功能将其转换为C-字符串:
- (const char *)UTF8String;
- (const char *)cStringUsingEncoding:(NSStringEncoding)encoding
- (BOOL)getCString:(char *)buffer maxLength:(NSUInteger)maxBufferCount encoding:(NSStringEncoding)encoding
而且还有一个similar question。
非常感谢您的快速响应,我得到了解决方案.. 关于 kamalBhr – KamalBhr 2009-11-26 11:52:45
嗯,这个问题有点不正确,因为打字不是唯一需要担心的事情。您不仅需要担心访问,还需要担心编码。假设你只是想UTF8编码,比你能逃脱:
NSString *myString = @"Hello";
const unsigned char *string = (const unsigned char *) [myString UTF8String];
但是,如果你需要访问每个字符的数据一个字节,可能比你想要的其他编码的一个,像ASCII:
NSString *myString = @"Hello";
const unsigned char *string = (const unsigned char *) [myString cStringUsingEncoding:NSASCIIStringEncoding];
,你可能需要使用的其他有价值的编码是Latin1的,它可以让你的标准ASCII,与西欧和美国的大多数语言使用重音字符和符号一起:NSISOLatin1StringEncoding
+ 1'NSISOLatin1StringEncoding'。 'NSASCIIStringEncoding'失败,因为我的字符串包含无符号值大于128的字形。 – PassKit 2014-08-21 10:11:43
谢谢你快速回复..我正在尝试这个代码.... FileString = [[NSString alloc] initWithContentsOfFile:defaultPath]; unsigned char * finalstring = [FileString UTF8Char];但它没有编译.. – KamalBhr 2009-11-26 11:49:26