今天用string来find一个中文符号,首先返回符号位置正确。然后符号为界,截取字符串出现问题;
分析原因:中文符号在string中是占用两个字节的。而string对所有的字符串是一个字符一个字节的
,所以按位取时,夺取了一个字节,导致数据获取失败。
用wstring进行存取,可以完全避免。
学到:或许第三方库和一些协议对unicode字符集支持不是很好,导致数据传输要使用ANSI字符串。
但程序之间的通信为了保证中文字符,必须使用unicode。 最多在数据传输时做一次编码转换!