Ios 字符到NSString ObjC NSString*filePath=[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@“myFile”]; NSData*字节=[[NSData alloc]initWithContentsOfFile:filePath]; NSU整数len=[字节长度]; 字节*字节数据=(字节*)malloc(len); memcpy(字节数据,[字节],len); NSMutableString*fileContents=[NSMutableString alloc]init]; 对于(int i=0;i
在Ios 字符到NSString ObjC NSString*filePath=[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@“myFile”]; NSData*字节=[[NSData alloc]initWithContentsOfFile:filePath]; NSU整数len=[字节长度]; 字节*字节数据=(字节*)malloc(len); memcpy(字节数据,[字节],len); NSMutableString*fileContents=[NSMutableString alloc]init]; 对于(int i=0;i,ios,objective-c,char,Ios,Objective C,Char,在char curChar=byteData[i]之后放置一个断点,我看到了这一点: 如何将图像(\x02、\xd0等)中显示的内容准确地附加到fileContents中?目前我得到的都是像Ð 关于如何将char转换为NSString,我已经看到了很多问题,但没有任何问题符合我的要求…使用不同的格式: NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"myFile
char curChar=byteData[i]
之后放置一个断点,我看到了这一点:如何将图像(\x02、\xd0等)中显示的内容准确地附加到
fileContents
中?目前我得到的都是像Ð关于如何将char转换为NSString,我已经看到了很多问题,但没有任何问题符合我的要求…使用不同的格式:
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"myFile"];
NSData *bytes = [[NSData alloc] initWithContentsOfFile:filePath];
NSUInteger len = [bytes length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [bytes bytes], len);
NSMutableString *fileContents = [NSMutableString alloc] init];
for (int i = 0; i < len; i++) {
char curChar = byteData[i];
[fileContents appendString:[NSString stringWithFormat:@"%c", curChar]];
}
编辑:要保存键入内容,您可以使用appendFormat:
(正如现在从Nikolai Ruhe删除的答案中所指出的)。如果您的意思是想要反斜杠-x-0-2,请参阅@特洛伊木马的答案。如果您的意思是想要“值为2的角色”,请继续阅读
文件的编码是什么?谈论字符串时,不能不考虑其编码。如果它是“一个字节字符串”,那么它就不是一个NSString
;这是一个NSData
,应该这样处理
一旦知道了编码,就不需要执行NSData
步骤。只需使用[NSString stringWithContentsOfFile:encoding:error:
[fileContents appendString:[NSString stringWithFormat:@"\\x%02x", (unsigned)curChar]];