当有一个数组怎么直接向控制台打印出中文?(直接打印显示的是unicode编码)
解决思路:(将变量反编译)
经过查找 - (nullableinstancetype)initWithData:(NSData*)data encoding:(NSStringEncoding)encoding;
这个方法可以解决,但是有一个限制,传入的参数需要时nsdata数据。
经过查找 以下是一些数据类型转换的方法
1.将数组转换成NSData
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dataArray options:NSJSONWritingPrettyPrinted error:nil];
2.将NSData转换成NSString
NSString *fileString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
3.将字符串转换成NSData
NSData* aData= [str dataUsingEncoding: NSUTF8StringEncoding];
4.将NSData转换成(NSString, NSArray)
id jsonObject = [NSJSONSerialization JSONObjectWithData:aData options:NSJSONReadingAllowFragments error:nil];
NSArray *array = (NSArray *)jsonObject; // 或者 NSString *string = (NSString *)jsonObject;
网友评论