场景:
linux服务器调用了webservice,等待webservice返回结果字符串A,A是utf编码格式,linux是采用的gbk编码格式,为了显而易见的看见A,需要把A转化为gbk格式进行显示,恰好A 带了bom头,转gbk的时候会失败,被bom给截断。
bom就只有3个字节,放在字符串的开始位置,这3个字节固定为:EF BB BF
可以考虑跳过这3个字节再进行转gbk就会OK。
比如 A为char *
string b = A+3;
可以在转之前判断前3个字节,比如
int ia ;
memcpy(&ia, A,1);//判断ia是否等于EF
int ib;
memcpy(&ib,A+1,1);//判断ib是否等于BB
...