📄 d223.bmp.txt
字号:
int nSrc, //源字符串的计数值
int nDst; ,,目标编码串的计数值
int nChar; //当前正在处理的组内字符字节的序号,范围是0~7
unsigned char nLeft; //上一字节残余的数据
,/计数值初始化
nSrc=0:
nDst=0:
,,将源串每8个字节分为一组,压缩成7个字节
/,循环该处理过程,直至源串被处理完
//如果分组不到8字节,也能正确处理
while (nSrc< nSrcLength)
{
,,取源字符串的计数值的最低3位
nChar= nSrc&7:
//处理源串的每个字节
if(nChar==0)
{
//组内第一个字节,只是保存起来,待处理下一个字节时使用
nLeft= *pSrc;
)
else
{
//组内其他字节,将其右边部分与残余数据相加,得到一个目标编码字节
*pDst= (*pSrc<<(8-nChar》I nLefi;
//将该字节剩下的左边部分,作为残余数据保存起来
nLeft= *pSrc>>nChar;
//修改目标串的指针和计数值
pDst++;
nDst++;
}
//修改源串的指针和计数值
pSrc++,
n Src++;
)
//返回目标串长度
retum nDst;
)
(2) 7-bit解码函数gsmDecode7bit(const unsigned char* pSrc.char* pDst,int nSrcLength)
●输入:pSrc-源编码串指针,nSrcLength-源编码串长度。
●输出:pDst-目标字符串指针。
●返回:目标字符串长度。
int gsmDecode7bit(const unsigned char* pSrc, char* pDst, int nSrcLength)
{
int nSrc, //源字符串的计数值
223
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -