objective-c 读取文本文件编码方式(stringWithContentsOfFile和initWithContentsOfFile)
来源:互联网 发布:切尔西鞋 知乎 编辑:程序博客网 时间:2024/06/01 10:51
NSString类提供了很多方法来从文件或者URL中读取数据.
通常情况下,你是知道文件的编码的,读取数据就很容易.
如果你有一个文本(plaintext), 但是不知道它的编码, 那就有点困难了. 你应该避免把自己置于这种境地.
从已知编码的文件读取数据 可以使用 stringWithContentsOfFile
:encoding:erro 或者相应的init函数 (initWithContentsOfFile:encoding:error)
如果使用不指定编码的stringWithContentsOfFile: 来读取文件, 可能会丢失信息或者损坏数据
对于未知编码的文件 最好的方法是保证有一种机制来纠正不可避免的错误. 比如,Apple的Mail和Safari应用有个菜单,TextEdit也允许用户用指定的编码重新打开文件. 如果你想在缺少编码信息的情况下,猜出编码,可以使用stringWithContentsOfFile:usedEncoding:error:或者 initWithContentsOfFile:usedEncoding:error: 方法
这几个方法将猜试 资源的编码,如果成功,就通过引用返回使用的编码. 如果失败,就默认使用UTF-8的编码 如果再次失败,就使用一种合适的古老编码, “合适”的意思,在这里依赖环境,它可能是默认的C String编码,也可能是Windows Latin1编码
最后,你还可以试试用 NSAttributedString’ 方法 来猜编码
stringWithContentsOfFile:方法 如果内容以Unicode的BOM开始(U+FEFF或者U+FFFE),那么解释这个文本内容为Unicode 字符. 如果以UTF-8的BOM(EFBBBF)开始, 就解释为UTF-8 否则,默认将内容解释为C字符串.
因为默认的C String编码可能会随着用户的配置而改变, 除非你使用Unicode或者UTF-8编码,否则就不要使用这种方法
相对于从文件读取数据,写是比较简单的 writeToFile:atomically:encoding:error: 你必须指定应该使用的编码,选择是否自动写资源 如果你不选择自动写入, 内容被直接写入到指定的文件. 否则,首先写到一个辅助文件,然后辅助文件被改名为指定的文件.iphone读取文本文件
从已知编码的文件读取数据 可以使用 stringWithContentsOfFile
:encoding:erro 或者相应的init函数 (initWithContentsOfFile:encoding:error)
如果使用不指定编码的stringWithContentsOfFile: 来读取文件, 可能会丢失信息或者损坏数据
对于未知编码的文件 最好的方法是保证有一种机制来纠正不可避免的错误. 比如,Apple的Mail和Safari应用有个菜单,TextEdit也允许用户用指定的编码重新打开文件. 如果你想在缺少编码信息的情况下,猜出编码,可以使用stringWithContentsOfFile:usedEncoding:error:或者 initWithContentsOfFile:usedEncoding:error: 方法
这几个方法将猜试 资源的编码,如果成功,就通过引用返回使用的编码. 如果失败,就默认使用UTF-8的编码 如果再次失败,就使用一种合适的古老编码, “合适”的意思,在这里依赖环境,它可能是默认的C String编码,也可能是Windows Latin1编码
最后,你还可以试试用 NSAttributedString’ 方法 来猜编码
stringWithContentsOfFile:方法 如果内容以Unicode的BOM开始(U+FEFF或者U+FFFE),那么解释这个文本内容为Unicode 字符. 如果以UTF-8的BOM(EFBBBF)开始, 就解释为UTF-8 否则,默认将内容解释为C字符串.
因为默认的C String编码可能会随着用户的配置而改变, 除非你使用Unicode或者UTF-8编码,否则就不要使用这种方法
相对于从文件读取数据,写是比较简单的 writeToFile:atomically:encoding:error: 你必须指定应该使用的编码,选择是否自动写资源 如果你不选择自动写入, 内容被直接写入到指定的文件. 否则,首先写到一个辅助文件,然后辅助文件被改名为指定的文件.iphone读取文本文件
0 0
- objective-c 读取文本文件编码方式(stringWithContentsOfFile和initWithContentsOfFile)
- objective-c 读取文本文件内容(stringWithContentsOfFile和initWithContentsOfFile)
- objective-c 读取文本文件
- iphone读取文本文件编码方式
- C和C++分别读取文本文件的方式
- Objective-c 读写文本文件
- Objective-c 读写文本文件
- C++:文本文件的读取和输入
- C#_FileStream读取文本文件和二进制文件
- 文本文件编码方式判断
- fgetws和fread读取不同编码文本文件时的结果
- C#_StreamReader读取文本文件
- Objective-C 编码实践:自写类和枚举方式输出新建类的各个成员
- C++ 和Objective-C 混合编码 注意事项
- Objective-C编码规范和要求
- 文本文件的编码方式判断
- Python 读取文本文件 的方式
- 文本文件的读取方式一
- linux iscsi-initiator-utils下的安装配置
- Java 构造时成员初始化的陷阱
- html表格中画斜线
- WebView的截屏实现
- IE7下不支持jquery.attr("onclick","function(){}"),
- objective-c 读取文本文件编码方式(stringWithContentsOfFile和initWithContentsOfFile)
- 如何使用ADSP BF53x的SPI接口[学习心得]
- 【设计模式】——日本队的简单工厂模式
- OFDM原理
- 最简单的网页分享代码
- Address already in use
- OpenGLES demo - 6. Cull Face
- excel 数据导入程序(C#)
- C# 线程 计划任务