在iOS10中使用stringWithUTF8String时字符串部分显示错误,转换失败导致string为空,程序崩溃
2016-09-28 15:53
309 查看
今天在优化项目的时候,发现在浏览一个文章的时候项目崩溃,而浏览其他文章没问题,由于项目复杂,打了很多断点,找了好久,终于找到,现将解决方法送给大家:
我的项目中原来是这样写的:NSString * str = [NSString stringWithUTF8String:(char*)as];
运行一直崩溃,原来在编码转化的时候出现了问题导致str为空,现在只需要固定编码的读取长度就行,将代码改为:
NSString *str = [[NSString alloc]initWithBytes:as length:length encoding:NSUTF8StringEncoding];
再运行,就完美了。我的实在iOS10上这样。在其他设备上没问题,希望能帮到你们。帮到的话顶一下。
我的项目中原来是这样写的:NSString * str = [NSString stringWithUTF8String:(char*)as];
运行一直崩溃,原来在编码转化的时候出现了问题导致str为空,现在只需要固定编码的读取长度就行,将代码改为:
NSString *str = [[NSString alloc]initWithBytes:as length:length encoding:NSUTF8StringEncoding];
再运行,就完美了。我的实在iOS10上这样。在其他设备上没问题,希望能帮到你们。帮到的话顶一下。
相关文章推荐
- 使用const_cast转换全局const变量导致程序崩溃的原因
- 【错误】”将参数值从 String 转换到 Decimal 失败“ && “仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时”
- 字符串的小错误导致程序运行失败
- 使用隐式转换auto_ptr导致程序崩溃原因
- x64 win7系统下VS2010运行显示图片程序,出现错误:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- QSqlDatabase 使用小结,解决部分数据库操作导致程序崩溃的办法
- 关于主布局在横竖屏转换时导致程序崩溃问题
- 完成一程序演示字符数组、C风格字符串、std::string和MFC中的Cstring类型之间的相互转换
- 字符串数组 string[] 转换为 字符串(用逗号,作为分隔符),linq Except的用法,linq获取两个字符串数组相同的部分
- 解决使用 libjpeg 保存图片时因磁盘写入失败导致程序退出的问题
- 问题九:编写函数stringcat,实现字符串的连接,程序中需要使用指针形式访问字符串
- KAV6导致部分程序崩溃的解决办法(kernel32.dll相关)
- 星外虚拟主机管理平台 开通数据库 出现Microsoft OLE DB Provider for SQL Server 错误 '8004' 从字符串向 datetime 转换失败
- CString使用GetBuffer转换成std::string类型失败 原因
- 6_8_2编写一个应用程序,该程序使用2个命令行参数,分别把值放在一个字符串和一个整形变量中,然后显示这些值
- QSqlDatabase 数据库操作没有removeDatabase 导致程序崩溃(此文极有可能是错误的,仅作个人留档参考)
- C#基础系列(6)-- 第二部分 字符串相关 -- byte[]与string之间的转换(1)
- VC6下使用STL注意:不要让内存分配失败导致您的旧版 STL 应用程序崩溃
- 安装打印机失败.错误:提示 另一个程序正在使用此文件,进程无法访问
- 关于导致 N70 下载jad安装程序, 出现 "授权失败" 的错误