资源说明:远程实时监控系统
int gsmEncode7bit(const char* pSrc, unsigned char* pDst, int nSrcLength)
{
…… //初始化
// 将源串每8个字节分为一组,压缩成7个字节循环该处理过程,直至源串被处理完。如果分组不到8字节,也能正确处理
while (nSrc < nSrcLength)
{
nChar = nSrc & 7; // 取源字符串的计数值的最低3位
if(nChar == 0) // 处理源串的每个字节
{
nLeft = *pSrc;
// 组内第一个字节,只是保存起来,待处理下一个字节时使用
}
Else {
// 组内其它字节,将其右边部分与残余数据相加,得到一个目标编码字节
*pDst = (*pSrc << (8-nChar)) | nLeft;
// 将该字节剩下的左边部分,作为残余数据保存起来
nLeft = *pSrc >> nChar;
pDst++; nDst++; // 修改目标串的指针和计数值
}
pSrc++; nSrc++; // 修改源串的指针和计数值
}
return nDst; // 返回目标串长度
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。