- 我在读取PDF文档时,输出为UNICODE编码的字符串,会遇到些显示不正常的乱码,所以想办法去除了。
- UNICODE汉字编码(GBK):0x4E00-9FA5
- ASCII国际标准+扩展:0-0xFF,UNICODE为:0x0000-00FF
- 所以,上面范围之外的都可以看做乱码了,去除即可。
//b 为读取的pdf文档
ushort *p = (ushort*)b.data();
for(int i=0;i<b.size()/2;i++,p++)
{
if(*p<0xff)continue;
if( *p >=0x4e00 && *p<=0x9fa5)//4E00-9FA5
continue;
*p=0xffff;
}
QByteArray forstr;
forstr.resize(2);
forstr[0]=0xff;
forstr[1]=0xff;
b.replace(forstr,QByteArray(""));