还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

C++字符串截断时中文的处理问题(中文被截断怎么处理?)

来源:清泛原创     2016-06-07 10:53:06    人气:     我有话说( 0 人参与)

防止后台错误消息中汉字双字节被截断出现乱码if (pRspMsg->RspMsg.buf[pRspMsg->RspMsg.Length() - 2] & 0x80) pRspMsg->Rsp...

// 防止后台错误消息中汉字双字节被截断出现乱码
if (pRspMsg->RspMsg.buf[pRspMsg->RspMsg.Length() - 2] & 0x80)    //是否是中文第一个字节
         pRspMsg->RspMsg.buf[pRspMsg->RspMsg.Length() - 2] = 0;  //是的话赋0

一个字节和0x80与运算(& 0x80 )是否不为零,不为零则该字节是汉字的第一个字节,否则是普通的ASCII字符。
具体请参考:https://www.tsingfun.com/it/cpp/1335.html


当然,还有其他方式就是判断 > 127 或 < 0(即首bit为1,signed时值为负),道理也是一样,不过推荐上面的写法。

C++ 字符串 中文截断

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: