C++服务端
其中text.ini文件用notepad++打开,看右下角如下
则表明此文件为GB2312编码,客户端解析时也要用此编码格式解析
std::string strFilePathName = "C:/Test/text.ini";
std::ifstream ifs(strFilePathName);
std::stringstream sstr;
sstr << ifs.rdbuf();
strBuff = sstr.str();
将strBuff传回客户端
TypeScript客户端
接受到服务端的strBuff,开始解析
let jsonConfig : string = Serializer.BinaryStreamToString(bs, "GB2312")
其中Serializer.BinaryStreamToString(bs : BinaryStream, src_charset:string)函数实现内部为
if("UTF8" == src_charset){
...
}
else if("GB2312" == src_charset){
...
}
else if("UNICODE" == src_charset){
...
}
已经做了区分。
总结:服务端的配置文件用什么格式编码,返回到客户端的数据也要用对应的编码格式解析,否则客户端解析失败!(如:C:/Test/text.ini文件用UTF8编码,客户端收到后仍用GB2312解析,则出错)