`
helpbs
  • 浏览: 1161486 次
文章分类
社区版块
存档分类
最新评论

WINCE 下使用wstring、string读写TXT文件

 
阅读更多

众所周知TXT文件的编码分为ASCI、UNICODE、UTF8,其中UNICODE又分big-endian、little-endian,具体怎么区分它们可以参照TXT文件的BOM;

Byte Order Mark。BOM是一个有点小聪明的想法:
在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。
这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF(读者可以用我们前面介绍的编码方法验证一下)。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文件的编码方式的。

今天我们要说的就是怎么用wstring和string读取、保存txt文件,我们可采用fopen、fwrite的方式读写TXT文档,当然我们也可以用标准库里的fstream来进行读写,它们的注意事项基本是一致的。

读写utf8、UNICODE的文件要采用wstring/string和 wistringstream/istringstream wostringstream/ostringstream来操作,但要注意保存时候一定要有BOM,否则会导致乱码.

分享到:
评论

相关推荐

    String与WString的字符转换代码

    String与WString的字符转换代码,包含4种字符相互转换。

    wstring转string

    wstring转成string 关键 WideCharToMultiByte, 实现一个unicode字符串到一个多字节字符串。

    cstring wstring string

    good resources about string

    C#使用S7.Net,Sharp7连接读写西门子PLC实例源码

    【工控老马出品,必属精品,质量保证,亲测能用】 资源名:C#使用S7.Net,Sharp7连接... 更新:内部添加sharp7连接PLC增加读写bool变量,增加读PLC string类型,Wstring类型。 适合人群:新手及有一定经验的开发人员

    string、wstring、cstring、 char、 tchar、int、dword转换方法

    各种字符串类型的转换方法,留着备份以后使用

    《C++String深入详解2.0版》PDF

    一、 C++的string的使用 3 1.1 C++ string简介 3 1.2 string的成员 3 1.2.1 append 3 1.2.2 assign 4 1.2.3 at 4 1.2.4 begin 5 1.2.5 c_str 5 1.2.6 capacity 5 1.2.7 clear 6 1.2.8 compare 6 1.2.9 copy 6 1.2.10...

    《深入学习c++string》2.1版

    一、 C++的string的使用 4 1.1 C++ string简介 4 1.2 string的成员 4 1.2.1 append 4 1.2.2 assign 5 1.2.3 at 5 1.2.4 begin 6 1.2.5 c_str 6 1.2.6 capacity 6 1.2.7 clear 7 1.2.8 compare 7 1.2.9 copy 7 1.2.10...

    wince开发用转换类

    wince上各种类型转换特别是字符串是很头疼的,这个类是项目用的, 每个都测试好用,使用静态方法,直接引用后,写【::cv::就可以用】 typedef int u32; //转换类,所有的转换函数在这里静态 2是to的意思 //cs:...

    c_plus_plus_string_convet.rar_plus_wstring

    C++开发中经常遇到的中英文字符串表示(string,wstring)类型之间的转换。

    C#使用S7.Net,Sharp7连接读写PLC

    里面有S7.Net.dll以及使用说明英文版的,不用区网上下载了。实现C#连接PLC1200,并读写DB块数据。项目工程师完整的,可以直接...更新:内部添加sharp7连接PLC增加读写bool变量,增加读PLC string类型,Wstring类型。

    wchar_t,char,string,wstring之间的相互转换

    以下是对wchar_t,char,string,wstring之间的相互转换进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    查找文件夹下指定文件(C++)

    地三个参数为可选的输入参数,输入扩展名信息,扩展名格式为(.cpp, *.cpp, cpp)三者都可,大小写不区分,如果为空则输出目录下的所以文件,默认是输出所有文件 第四个参数为可选的输入参数,表明是否递归,如果为...

    深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

    代码如下: #ifndef USE_H_ #define USE_H_ #include  #include  #include <string> using namespace std; class CUser { public: CUser(); virtual~ CUser(); char* WcharToChar(const wchar_t* wp); ...

    wString

    模块::字符串 从存储库中尝试 git clone https://github.com/Wandalen/wString cd wString npm install node sample/trivial/Sample.s 添加到您的项目 npm add 'wstring@alpha'

    探究C++中string类的实现原理以及扩展使用

    C++程序员编码过程中经常会使用string(wstring)类,你是否思考过它的内部实现细节。比如这个类的迭代器是如何实现的?对象占多少字节的内存空间?内部有没有虚函数?内存是如何分配的?构造和析构的成本有多大?笔者...

    utf-8、ANSI、Unicode相互转化c++实现

    std::wstring ConverANSI2Unicode(const std::string str); std::wstring ConverUTF82Unicode(const std::string str); std::string ConverUnicode2UTF8(const std::wstring str); std::string ConverUnicode2ANSI...

    C ++:将MFC CString转换为std :: string

    在UNICODE中:CString str = L“ Test”; std :: wstring ws(str); std :: string s; s.assign(ws.begin(),ws.end());

    C++宽字符与普通字符的转换实例详解

    wstring string2Wstring(string sToMatch) { #ifdef _A_WIN int iWLen = MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), 0, 0 ); // 计算转换后宽字符串的长度。(不包含字符串结束符) ...

Global site tag (gtag.js) - Google Analytics