热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Excel文件转plist文件出现的文件编码问题

今天在测试时遇到了需要将大量整理好的Excel数据转换为plist文件的情况.百度了一下教程,发现虽然别人也遇到过类似的情况,但是有些讲的还是不够细致.所以做如下整理.百度到的内容

今天在测试时遇到了需要将大量整理好的Excel数据转换为plist文件的情况.百度了一下教程,发现虽然别人也遇到过类似的情况,但是有些讲的还是不够细致.所以做如下整理.
 
百度到的内容中有使用MesaSQLite的情况,由于没有走通,在这里暂时不提.
 
实际处理过程如下:
 
1.转化excel文件到记事本文件.复制粘贴出来即可,这部分的操作我是在windows下进行的,使用的是excel跟notepad++.使用默认操作也导致后面遇到了一些问题.
 
2.直接将转化后的记事本文件拖入Xcode资源文件夹,点击预览到得情况如下,出现乱码:
 技术分享
 
强行运行程序转换,程序没有报错,但是得到的plist文件只有文件头,实际有效数据为空.
代码如下:
  
    NSString *alarmPath = [[NSBundle mainBundle] pathForResource:@"GSK980M" ofType:@"txt"];
//    NSLog(@"%@",alarmPath);
//    尝试更换文件编码,失败
//    NSStringEncoding gbk = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *alarmCOntent= [[NSString alloc] initWithContentsOfFile:alarmPath encoding:NSUTF8StringEncoding error:nil];
//    NSLog(@"%@",alarmContent);
    
    NSArray *alarmArray = [alarmContent componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
//    NSLog(@"%@",alarmArray);
    NSString *docuPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *plistPath = [docuPath stringByAppendingPathComponent:@"GSK980M.plist"];
    NSLog(@"%@",plistPath);
    NSMutableArray *resultsArr = [NSMutableArray array];
    for (NSInteger j = 0; j 
 
3.搜索,确认为文件编码的问题.开始考虑转换记事本文件的编码,使用MAC自带的文本编辑.app没能发现保存为UTF-8的选项.继续百度,得到关键的信息.
在文本编辑器中按下快捷键:shift?+command?+T.
再保存的时候就会出现:
技术分享
然后保存即可.
 
4.此时,重新将文件拖入资源目录,预览中已经显示正常:
技术分享
重新运行程序,得到需要的plist文件. 

Excel文件转plist文件出现的文件编码问题


推荐阅读
  • iOS之富文本
    之前做项目时遇到一个问题:使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结 ... [详细]
  • MyBatis模糊查询和多条件查询一、ISmbmsUserDao层根据姓名模糊查询publicListgetUser();多条件查询publicList ... [详细]
  • 【自制小工具】代码生成器
    【自制小工具】代码生成器陆陆续续接触过好几款代码生成工具,发现确实好用,但都会有那么点不完善的地方,所以索性就自己做一个吧。界面非常简单,反正是自己用的,简单点用起来也方便上图:左 ... [详细]
  • FroggerTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:32257Accepted:10396DescriptionFr ... [详细]
  • 代码:在mysql5.6,运行正常,5.7报错SELECTsum((selecta.numwherea.status1))astotalFROMmes_order_productA ... [详细]
  • Git(1)
    安装Git完毕(在开始菜单打开的话,打开的不是你想要的路径,切换路径很麻烦)1.D盘新建GitTest文件夹2.打开GitTest,在空白的地方右键,3.单击GitBashHere ... [详细]
  • python基础(二、pycharm安装、卸载)
    3.在Ubuntu中安装PyCharmPyCharm的官方网站地址是:https:www.jetbrains.compycharm注意:安装时不要使用root用户安装,否则后期使用 ... [详细]
  • 这一篇主要总结一下jQuery这个js在引入的时候做的一些初始化工作第一句window.undefinedwindow.undefined;是为了兼容低版本的IE而写的因为在低版本 ... [详细]
  • spotify engineering culture part 1
    原文,因为原视频说的太快太长,又没有字幕,于是借助youtube,把原文听&打出来了。中文版日后有时间再翻译。oneofthebigsucceessfactorshereatSpo ... [详细]
  • vscode里的html标签导航的一系列问题
    哈喽,我今天带来的经验是,vscode在18年10月更新后的1.29以后,编辑html文档时,会发现最上面有个类似于HTML标签导航的玩意儿,可能部分同学和我一样不习惯用它们,现在 ... [详细]
  • Illustrator绘制逼真的愤怒的小鸟实例教程
    Illustrator教程: ... [详细]
  • 抓取百万知乎用户设计之实体设计
    一.实体的关系实体是根据返回的Json数据来设计的教育经历方面用户可以有很多教育经理,USER和education是一对多的关系,一个education对应一个education一 ... [详细]
  • Xib九宫格应用管理使用xib封装一个自定义view的步骤1新建一个继承UIView的自定义view,假设类名叫做(AppView)2新建一个AppView.xib文件来描述 ... [详细]
  • kepserver中文手册,kepserver使用教程,kepserver设置
    下面介绍一下KepServer模拟器的使用,以下示例使用服务器随附的Simulator驱动程序来演示创建、配置和运行项目的过程。Simulator驱动程序是基于内存的驱动程序,能为 ... [详细]
  • 论文阅读及复现 | Improved Semantic Representations From TreeStructured Long ShortTerm Memory Networks
    两种形式的LSTM变体Child-SumTree-LSTMsN-aryTree-LSTMshttps:paperswithcode.compaperimproved-semanti ... [详细]
author-avatar
泉州联合网2534
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有