清泛IT社区
标题:
C++字符串截断时中文的处理问题(中文被截断怎么处理?)
[打印本页]
作者:
清泛网
时间:
2016-03-31 11:32
标题:
C++字符串截断时中文的处理问题(中文被截断怎么处理?)
// 防止后台错误消息中汉字双字节被截断出现乱码
if (pRspMsg->RspMsg.buf[pRspMsg->RspMsg.Length() - 2] & 0x80)
pRspMsg->RspMsg.buf[pRspMsg->RspMsg.Length() - 2] = 0;
一个字节和
0x80与运算
(& 0x80 )是否不为零,不为零则该字节是汉字的第一个字节,否则是普通的ASCII字符。
具体请参考:
http://www.tsingfun.com/html/2016/dev_0331/1335.html
当然,还有其他方式就是判断 > 127 或 < 0(即首bit为1,signed时值为负),道理也是一样,不过推荐上面的写法。
欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/)
Powered by Discuz! X3.3