首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从NSData转换回时字符串为空

可能是由于以下几个原因导致的:

  1. 编码问题:在将NSData转换为字符串时,需要指定正确的编码方式。常见的编码方式包括UTF-8、UTF-16等。如果使用了错误的编码方式,可能导致转换后的字符串为空。可以尝试使用不同的编码方式进行转换。
  2. 数据格式问题:NSData可能包含非文本数据,例如二进制数据或者图片数据。如果尝试将这些非文本数据转换为字符串,结果会为空。在转换之前,需要确保NSData中包含的是文本数据。
  3. 数据损坏:如果原始的NSData数据在传输或存储过程中发生了损坏,可能导致转换后的字符串为空。可以尝试使用其他工具或方法验证原始NSData数据的完整性。

针对以上问题,可以使用以下方法进行排查和解决:

  1. 确定编码方式:根据原始数据的来源和处理过程,确定正确的编码方式。可以尝试使用不同的编码方式进行转换,直到找到正确的编码方式。
  2. 检查数据格式:确保原始的NSData数据是文本数据,而不是二进制数据或者其他非文本数据。可以使用其他工具或方法验证数据的格式。
  3. 数据完整性检查:使用其他工具或方法验证原始NSData数据的完整性,确保数据没有在传输或存储过程中发生损坏。

如果以上方法仍然无法解决问题,可以提供更多关于原始NSData数据的信息,以便更准确地定位问题所在。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Runtime应用(一):JsonModel

这三个第三方框架的测试效率YYModel>MJExtention>JsonModel 其中JSonModel的核心知识点就在于利用Runtime的特点来获取属性以及KVC进行赋值,尝试了一下,封装了一个简易版的工具.../拿到属性名称 NSString *property_name = [NSString stringWithUTF8String:property_getName(property)]; 以namekey...Json字典里获取值 // Json字典里获取值 id value = [dict objectForKey:key]; if (value == nil) { continue; } KVC赋值...[self setValue:value forKey:key]; 三、补充 1、拿到的可能不是Json字典,而是Json字符串或者是二进制类型NSData,那么首先要对将Json字符串转成Json字典...class]]) { jsonData = json; } // 如果NSData类型,使用NSJSONSerialization if (jsonData

45840

「死磕」Core Data——非标准数据类型的保存

这个类,仅用于高效地管理Core Data中取回的数据,供UITableView使用,也就是作为UITableView的数据源而存在的。...// 实例化fetchedResultsController对象 // 需要利用在此之前已经创建的NSManagedObjectContext对象 // 最后一个参数,可以复制一个字符串...Table View提供数据源 要告诉Table View有多少行数据,利用NSFetchedResultsController的sections属性。...UIImage、UIColor UIImage和UIColor这类遵守了NSCoding协议的对象,Core Data会帮你转换为NSData后,保存,取回来,也会帮你NSData转为相对应的对象。...; 取回,用NSKeyedUnarchiver的unarchiveObjectWithData:方法,将取回的NSData数据,转换回数组、字典对象。

1K60
  • iOS的NSString总结

    "];    //拼组字符串 2)截取 NSString *str = [@"asd" substringFromIndex:1];                       //第几位开始截到最后...NSString *str1 = [str substringToIndex:1];                           //开始位置截到第几位 NSString *str = [[...@"asd" substringFromIndex:1] substringToIndex:1];  //第几位开始截几个字符 3)分解 NSArray *array = [@"asd|tes|mmm...stringByDeletingLastPathComponent]; //获得文件的所在文件夹路径 [filtpath stringByDeletingPathExtension];     //获得去除扩展名的文件路径 7)字符串是否...if (str.lenght > 0) //不管str是不是nil都可以这么判断 8)字符串比较 if ([@"asd" isEqualToString:@"asd"]) {     } 9)字符串比大小

    52300

    一文学会iOS蓝牙开发

    Data16进制字符串 蓝牙返回的数据是 NSData 类型,此时可以调用下面方法将 NSData 转为 16进制字符串,然后针对字符串取指定位进行处理。...Ps: 这里需要注意,由于转为 16 进制字符串处理,可能后面有需要进行算术运算,所以最好转为字符串后,统一大写处理。...Ps: **在这里转换需要注意,如果算术运算后的数字小于0,直接把十进制数字通过上面方法16进制字符串再去异或会有问题。...Ps:这里最好也先将字符串转为大写,再转为 Data // 将16进制的字符串转为NSData, 传入的字符串转为128位字符,不足位补数字,如果需要对应位,截取位置即可。...排查后发现,是因为算法中涉及算术运算部分,出现负数,指令就会失败,再仔细研究后发现,是负数16进制再去异或运算,出现问题。

    1.7K20

    iOS - 模型数据持久化保存实现

    TwoVC),默认使用homeVC,一步一步点击,似魔鬼的步伐一般进入TwoVC 方法2 :还是设置rootVC = 当前的开发控制器(TwoVC),同时,使用数据持久化保存,保存OneVC传过来的数据,然后硬盘中读取...使用归档先将model转为NSData,再存储 思路:既然NSUserDefaults不支持自定义类型存储,但是支持NSData类型存储,就通过NSKeyedArchiver转成NSData类型,再存储...,字典通过NSKeyedArchiverNSData ,再保存到NSUserDefaults中 + (void)mn_saveModel:(id)model key:(NSString *)key{...//modeljson NSDictionary *productDic = [model yy_modelToJSONObject]; NSData *...didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self setDefaultWindow]; //设置当前的开发控制器TwoVCrootVC

    2K40

    iOS测试指南之 【保存接口返回枚举数据本地json文件,作为测试数据】

    避免频繁请求接口带来的数据延迟显示,提高性能(针对一些不长改变的数据,比如枚举、地区) 例子:保存接口/api/Dictionaries/GetDictionariesEnum(获取所有枚举字典数据)返回的字典数据json...文件,以便下次app启动使用,来避免请求接口带来的数据延迟显示,提高性能。...先从内容获取数据NSMutableArray, 2、如果内容不存在,就从项目的本地文件进行读取searchEnum.json 3、登陆成功之后就请求接口更新DictionariesEnum 数据 I、数组json...字符串的应用案例 (lldb) po [[NSString alloc] initWithData: [NSJSONSerialization dataWithJSONObject:tmp options...1.1 保存接口返回的数据 ,以便下次使用,来提交性能 保存接口/api/Dictionaries/GetDictionariesEnum返回的字典数据json文件,以便下次使用,来提交性能。

    78240

    实践-小细节 II

    当SourceAlpha1,绘图系统认为下面的颜色全部被遮盖住了, Result=Source,如果Source的Alpha不为0,上下层颜色就会进行合成,所以opaque默认设置YES,提升绘制性能...#这样的错误是 把A数组和B数组指针置相同了,当 可变数组 A里面的值发生改变,自然 #可变数组 B 里面的值也发生相同的改变,因为两者指的的内存地址是同一处。...真确的赋值是这样的: [searchByName addObjectsFromArray:dataArray]; 6.Base64编码的字符图篇 图片上传服务器还可以转成NSString再上传。...#图片 Base64字符串 -(NSString *)UIImageToBase64Str:(UIImage *) image { NSData *data = UIImageJPEGRepresentation...base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; return encodedImageStr; } #Base64 字符串图片

    72120

    YYCache 源码解析(二):磁盘缓存的设计与缓存组件设计思路

    判断filename是否字符串: 如果不为:写入文件,并将缓存的key,等信息写入数据库,但是不将key对应的data写入数据库。...如果: 如果缓存类型YYKVStorageTypeSQLite:将缓存文件删除 如果缓存类型不为YYKVStorageTypeSQLite:则将缓存的key和对应的data等其他信息存入数据库。...在以数据库存储缓存 不过虽然调用了两次,我们可以传入的参数是有差别的:第二次filename传了nil。...那么我们来看一下_dbSaveWithKey:value:fileName:extendedData:内部是如何区分有无filename的情况的: 当filename,说明在外部没有写入该缓存的文件...而且数据库的第四个字段是保存缓存对应的data的,从上面的代码可以看出当filename和不为的时候的处理的差别。

    2K20

    Foundation framework in iOS

    二者在类型上是不同的,但是存储的字符串是可以做对比的。 NSMutbaleString就有点类似C#的StringBuild这个类,可以做一些字符串的增删改操作。...; //1、字符串转换成NSData NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; //2、NSData...3、NSNumber、NSArray、NSDictionary和NSData之间的转换 数组NSData是建立在归档的基础上,归档也称为序列化,OC中NSString 对象、NSNumber...对象、NSArray对象 NSDictionary字典对象、NSData 数据对象、这些类要进行数据保存可以通过NSKeyedArchive 类来实现。...(NSDictionary*)attributesOfItemAtPath:path error:err 获取文件的属性 属性字典允许你指定要创建的文件的权限,如果将该参数指定为nil,该文件会被设置默认权限

    6110

    iOS小技能:封装银联接口协议(收银台的订单退款、查询机制)【上篇】

    ;默认关闭;开启,提示“备用收款模式启用1小候将自动关闭!”...请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现) 1、文章:https://kunnan.blog.csdn.net/article/details/108195721 2、CSDN...否 String(16) ORIGINAL-原路退款,默认 随机字符串 nonce_str 是 String(32) 随机字符串,不长于 32 位 签名 sign 是 String(32) MD5签名结果...请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现) 1、文章:https://kunnan.blog.csdn.net/article/details/108195721 2、CSDN...(total_fee必须int类型) /** 元分 %d:整数 %f:浮点数 %s:方法 %c:c字符 %@:OC对象 %p:指针 //保留两位小数 NSLog(@"%0.2f"

    97820

    PHP函数

    提示:该函数可用于清理数据库中或者 HTML 表单中取回的数据。 语法 stripslashes(string) 复制代码 参数 描述 string 必需。规定要检查的字符串。...规定要检查的字符串。 charlist 可选。规定字符串中删除哪些字符。...无效的编码: ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个字符串。应尽量避免,因为这可能对安全性有影响。...(反之,序列化字符串对象或数组:unserialize() ) serialize() 函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变。...返回值 返回一个字符串。 实例 实例 输出结果: a:3:{i:0;s:6:"Google";i:1;s:6:"Runoob";i:2;s:8:"Facebook";} 复制代码

    2.9K40

    iOS安全:敏感逻辑的保护方案(敏感信息的安全设计)

    mainWindow.safeAreaInsets.bottom > 0.0) { return YES; } } return NO; } 1.2 把函数名隐藏在结构体里,以函数指针成员的形式存储 CSDN...*)translate:(NSString *)content{ return [GeneralUtil convertHexStrToString:content]; } 二进制字符串...// 二进制字符串 // #import "GeneralUtil.h" @implementation GeneralUtil + (BOOL)isBlankString:(NSString...不要在 HTTP GET 请求参数中包含敏感信息,如用户名、密码、卡号、ID等 禁止表单中的自动填充功能,因为表单中可能包含敏感信息,包括身份验证信息 不要在客户端上以明文形式保存密码或其他敏感信息 所有敏感信息采用...请求中含有敏感参数(如订单号、ID等),应进行混淆方式处理,防止产生参数遍历获取信息风险 iOS敏感逻辑的保护方案:【把函数名隐藏在结构体里,以函数指针成员的形式存储】 敏感信息需要展示在web页面上

    1.1K10

    利用Runtime实现简单的字典模型

    好了,废话不多说,直接上代码,let's go 简单字典模型 首先,最简单的字典开始,例如我们需要将如下的字典转化成自定义的模型。...苹果的官方文档(Objective-C Runtime Programming Guide)可以得知,attributes是一个类型编码字符串,这个字符串以T作为开始,接上@encode类型编码和一个逗号...JSON字符串模型 定义一个json字符串转成模型: #pragma mark - JSON字符串模型 void keyValues2object1(){ // 1....,则转换成NSData再进行序列化。...将字典中的value作为字典处理,然后再调用字典模型的方法返回一个模型类,所以在包装类型还要有个属性表示它是否是自定义的模型类,才能作为依据继续递归,判断的方法是看它是否来自于Foundation框架的类

    1.9K60
    领券