1. NSString轉化為UNICODE String:
(NSString*)fname?=?@“Test”;
charfnameStr[10];
memcpy(fnameStr,?[fname?cStringUsingEncoding:NSUnicodeStringEncoding],?2*([fname?length]));
與strcpy相比焕毫,memcpy并不是遇到'\0'就結束搔预,而是一定會拷貝完n個字節(jié)
2. NSString 轉化為 char *
NSString?*?str=?@“Test”;
constchar*?a?=[str?UTF8String];
3.char * 轉化為 NSString
NSString?*str=[NSString?stringWithCString??encoding:NSUTF8StringEncoding];
4. char * 轉化 NSData
方法一:
char*?a?=?(char*)malloc(sizeof(byte)*16);
NSData?*data?=?[NSData?dataWithBytes:?a???length:strlen(a)];
方法二:
轉換為NSString:?-?(id)initWithUTF8String:(constchar*)bytes
然后用NSString的?-?(NSData?*)dataUsingEncoding:(NSStringEncoding)encoding
5. NSData 轉化 char *
NSData?data?摩桶;
char*?a=[data?bytes];
6. NSData 轉化 NSString;
NSData*?data;
NSString*?aStr=?[NSString?alloc]?initWithData:data???encoding:NSASCIIStringEncoding];
7. NSString 轉化 NSData對象
NSData*?xmlData?=?[@"testdata"dataUsingEncoding:NSUTF8StringEncoding];
8.NSString 轉化 NSURL
//NSURL?*url?=?[NSURL?URLWithString:[str???stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding?]];
SString?*urlString=[@"http://www.google.com/search?client=safari&rls=en&q=搜索&ie=UTF-8&oe=UTF-8"stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
9.NSURL 轉化 NSString
NSURL?*url=[NSURL?URLWithString:urlString];
NSString?*s=[[url?absoluteString]?stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSArray?*arr?=?[urlStr?componentsSeparatedByString:@"&"];
NSURL?*url?=?[NSURL?URLWithString:[[arr?objectAtIndex:0]?stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding?]];
NSMutableURLRequest?*request?=?[NSMutableURLRequest?requestWithURL:url];
[request?setHTTPMethod:@"POST"];
NSMutableArray?*_array?=?[[NSMutableArray?alloc]?initWithCapacity:0];
for(inti?=?1;?i?<?[arr?count];?++i?){
NSString?*str?=?[arr?objectAtIndex:i];
[_array?addObject:str];
}
[_array?componentsJoinedByString:@"&"];
NSData?*data?=?[[_array?componentsJoinedByString:@"&"]?dataUsingEncoding:?NSASCIIStringEncoding];
[request?setHTTPBody:data];
//?發(fā)送請求并獲得服務器反饋的數據
NSData?*urldata?=?[AESEnCDeCViewController?Get:url];
//?第一種?轉換NSData數據到char*字符串
char*?test?=?(char*)[urldata?bytes];
std::string?old?=?deaes(test);
//?第二種?轉換NSData到UTF8編碼的NSString中再轉換為char*字符串
//????NSString?*desStr?=?[[NSString?alloc]?initWithData:urldata?encoding:NSUTF8StringEncoding];
//????const?char?*desresult?=?[desStr?UTF8String];
//????std::string?old?=?deaes(desresult);
//?解密字字符串到明文
NSString?*oldstr?=?[[NSString?alloc]?initWithCString:old.c_str()];
很多時候軟件讀取的中文網頁編碼集是gb2312掌测,所以顯示出來的是亂碼。這時需要將NSString文字編碼轉換
1?NSURL?*url?=?[NSURL?URLWithString:urlStr];
2?NSData?*data?=?[NSData?dataWithContentsOfURL:url];
3?NSStringEncoding?enc?=?CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
4?NSString?*retStr?=?[[NSString?alloc]?initWithData:data?encoding:enc];
文件存在幾種形式:
NSData 最基本的字節(jié)流亮靴,在文件傳輸的過程中睦焕,首先需要decoder解碼轉化為一個字節(jié)流,然后傳輸额各,接收數據時需要encoder編碼,必須保證編碼正確才能顯示出正確的數據吧恃。一般傳遞的數據為string,file,文件包括:二進制文件虾啦,音頻,圖像,文本文件等傲醉,文本文件一般是xml针饥,json,jsp等文件需频,里面包含了數據。
NSString,NSDictionary 這是在程序中使用的數據筷凤,包括了不同的數據存儲形式
NSFile 持久性存儲的一種形式