文本文件格式浅析以及转换
来源:互联网 发布:手机上能装修淘宝店铺 编辑:程序博客网 时间:2024/06/12 19:41
Windows7 文本文件目前支持4种编码格式:utf-8,unicode,unicode big endian,ansi
这些格式的定义,自行百度,来看一下他们具体的不同。先创建一个文本文件,默认是ansi格式,然后另存为其他三种格式。往里面随便写点数据
使用ue打开这些文件,使用ue的16进制功能,看到txt文件拥有如下属性:
ansi:没有任何特性
unicode:FF FE
unicode big Endian:FE FF
utf-8:EF BB BF
更深入一点说:假如每个txt文件文件里面输入的内容是一个字符“a”。看到的应该是这个样子:
ansi:61
unicode:FF FE 61 00
unicode big Endian:FE FF 00 61
utf-8:EF BB BF 61
从以上特性可以看出,ANSI并没有文件头(有些博客说有,其实是没有的),然后unicode 和unicode big endian 在编码上
是高低位置换的,最后utf-8,文件头固定,但是文件内容要从三个字节后开始。
程序读取用户文件,需要根据不同的编码格式使用不同的容器否则将导致读取出来的结果不是希望看到的。比如ansi你可以直接读取到char数组中,但是unicode类就应该读取到wchar_t类数组中。
以下内容是干货物。
如何从unicode文件中读取内容并转换为ansi格式:
这些格式的定义,自行百度,来看一下他们具体的不同。先创建一个文本文件,默认是ansi格式,然后另存为其他三种格式。往里面随便写点数据
使用ue打开这些文件,使用ue的16进制功能,看到txt文件拥有如下属性:
ansi:没有任何特性
unicode:FF FE
unicode big Endian:FE FF
utf-8:EF BB BF
更深入一点说:假如每个txt文件文件里面输入的内容是一个字符“a”。看到的应该是这个样子:
ansi:61
unicode:FF FE 61 00
unicode big Endian:FE FF 00 61
utf-8:EF BB BF 61
从以上特性可以看出,ANSI并没有文件头(有些博客说有,其实是没有的),然后unicode 和unicode big endian 在编码上
是高低位置换的,最后utf-8,文件头固定,但是文件内容要从三个字节后开始。
程序读取用户文件,需要根据不同的编码格式使用不同的容器否则将导致读取出来的结果不是希望看到的。比如ansi你可以直接读取到char数组中,但是unicode类就应该读取到wchar_t类数组中。
以下内容是干货物。
如何从unicode文件中读取内容并转换为ansi格式:
CStdioFile ifs;ifs.Open(strFilePath,CFile::modeRead|CFile::typeBinary);DWORD length = ifs.GetLength();if (length<=2){ AfxMessageBox("文件没有正确数据!"); return 0;}char *content ;wchar_t *wcontent = new wchar_t[length+1];memset(wcontent,0,length+1);ifs.Read(wcontent,length);content = new char[length+1];memset(content,0,length);WideCharToMultiByte( CP_ACP, 0, wcontent, -1,content, length, NULL, FALSE );delete wcontent;余下的转换待续!
0 0
- 文本文件格式浅析以及转换
- Linux文本文件与WIN文本文件换行格式转换命令
- Java判断文本文件编码格式以及读取
- Windows和Linux间文本文件格式转换
- 用VBA转换文本文件日期格式问题
- linux 下文本文件的编码格式转换
- 文本文件编码查看 以及转换 enca
- 勘测定界坐标交换格式文本文件转换成 shapefile 格式
- Linux dos2unix --将DOS格式文本文件转换成UNIX格式
- 用 vim 完成 dos格式文本文件到 linux格式文本文件的转换
- 证书格式以及相互转换
- Openssl证书格式,以及转换
- 金额计算以及格式转换
- linux和windows的文本文件 换行格式转换
- 在Linux上如何将文本文件转换成PDF格式
- 在Linux上如何将文本文件转换成PDF格式
- Windows和Linux间文本文件格式转换那些事
- 将txt文本文件转换成pdf格式的方法
- 欢迎使用CSDN-markdown编辑器
- Spring与Quartz的整合实现定时任务调度
- 练习题c++(一)
- java文件拷贝类
- 一分钟教你用Chrome的RSS来订阅博客
- 文本文件格式浅析以及转换
- 在Unity中StartCoroutine/yield return这个模式到底是怎么应用的?其中的原理是什么?
- MySQL 中的数据类型介绍
- Quick-cocos2d-x SocketTCP链接
- 面向对象
- Openstack平台neutron模块之网络基础概念
- uC/OS 的进程调度(上)
- 看了淘宝的商业模式分析
- [Java视频笔记]day11