Objective-C 数据类型
NSData:一种将数据对象化的包装。
1.NSData -> NSString
NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
2.NSString ->NSData
NSString *string = @"abcdefg";
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
3.NSData -> UIImage
NSData *data = [NSData new];
UIImage *image = [UIImage imageWithData:data];
4.UIImage ->NSData
这里有这么两种方法 UIImageJPEGRepresentation(UIImage *image,压缩系数) 和 UIImagePNGRepresentation(UIImage *image)
UIImage *image = [UIImage new];
NSData *data =UIImagePNGRepresentation(image);
至于另一个的使用,等我研究明白再回来写,仿佛是具有压缩改变数据大小的效果。
5.NSString -> NSDictionary
NSString *dicString = _inPutView.text;
NSData *JSONData = [dicString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err = nil;
NSDictionary *parameters=[NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableLeaves error:&err];
6.NSDictionary -> json字符串
NSDictionary *dic = @{@"A":@"abc",@"B":@"123"};
NSError *error = nil;
NSData *jsondata = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = @"";
if(!jsondata){
NSLog(@"wrong = %@",error);
}else{
jsonString = [[NSString alloc] initWithData:jsondata encoding:NSUTF8StringEncoding];
}
NSLog(@"jsonString = %@",jsonString);
输出:2017-02-15 10:27:58.255 NodeLearn[1589:37851] jsonString = {
"A" : "abc",
"B" : "123"
}
还可以再进一步操作,去掉换行和空格: NSMutableString *mulString = [NSMutableString stringWithString:jsonString];
NSRange range = {0,jsonString.length};
[mulString replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range];
NSRange range0 = {0,mulString.length};
[mulString replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range0];
NSLog(@"jsonString = %@",mulString);
输出结果:2017-02-15 10:37:16.664 NodeLearn[1789:43886] jsonString = {"A":"abc","B":"123"}
Node.js 数据类型
1. JS对象 <=> 字符串
var obj1 ={
key :'hello world',
num : 123
};
var str = JSON.stringify(obj1);
var obj2 = JSON.parse(str);