Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

urlno的压缩和解压缩

来源: chenbingchenbing 分享至:

 

//code
uint32_t urlno = ptmpUWArray[i].urlNo - cururlno;
cururlno = ptmpUWArray[i].urlNo;

/**佸弫獊鍋佺悊urlno */
while ((urlno & ~0x7F) != 0)
{
pOPBuf[j++] = (urlno & 0x7f) | 0x80;
urlno >>= 7;
m_fRemainDOffset++;
idxRemain.lenData++;
}
m_fRemainDOffset += 3;
idxRemain.lenData += 3;
pOPBuf[j++] = (char) urlno;
pOPBuf[j++] = pUWBuf[i * sizeof(urlno_wei) + 4];
pOPBuf[j++] = pUWBuf[i * sizeof(urlno_wei) + 5];

//decode
char* tmp = (char*)re_index.m_cururl;
int i = (*tmp) & 0x7F;
for (int shift = 7; ((*tmp) & 0x80) != 0; shift += 7)
{
re_index.m_cururllen++;
tmp = tmp + 1;
i |= ((*tmp) & 0x7F) << shift;
}


懸驊为urlno懚☉义懳獞占8懜鰬字懡趹,懯龖据懥繎太懘髴的懟皯会懕葢较懻紤空懠鋺,懩繎前懖蓱用懙膽方懛☉是懚詰相懥趹的url懖顟值懡鴳行懖顟分懘鎽储懀瑧压懰鯌的懛綉式懯菓以7懳粦为懸粦个懙位懀瑧通懝龖第8懳粦是懛駪为1懤磻判懚蠎差懛謚rlno懯菓否懹袘继懶鴳的憽?懸驊为懯菓变懗连懶鴳存懘,懨粦有懡釕尾懞蛻偏懸茟信懴,懰鶓以懡鈶压懰鯌时懞驊的懟簯冲懬鴳需懸獞采懹脩一懚☉的懠紤巧懀瑧目懬皯是懙睉指懻霊离懳矐部10懜鰬字懡趹时懠虘续懲鶓下懚翍缓懘鎽,懻鈶样懕证懥藨数懢輵的懷討续憽代懧霊如懴聭:
if((REMAIN_SIZE-label)<10 )
{
char  ptemp_switch[50 ]="\0";
int  remain_num=REMAIN_SIZE-label;
memcpy(ptemp_switch , ptemp+label ,remain_num);
free (ptemp);
ptemp=(char *)calloc ( REMAIN_SIZE  ,sizeof (char ));
memcpy(ptemp , ptemp_switch ,remain_num );
if(fread(ptemp+remain_num,1,REMAIN_SIZE-remain_num,fpREMAINData) !=REMAIN_SIZE-remain_num)
{
printf("error  \n");
}
label=0;
}

int  cururllen=0;
char* tmp = (char*)ptemp+label;
int i = (*tmp) & 0x7F;
int  shift;
for ( shift = 7; ((*tmp) & 0x80) != 0; shift += 7)
{
cururllen++;
offset_count++;
label++;
tmp = tmp + 1;
i |= ((*tmp) & 0x7F) << shift;
}
if(shift==7)
{

}
else
{
i |= ((*tmp) & 0x7F) << shift;
}


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史