📄 uni2gb.c
字号:
#ifndef _COMMON_DEFINE
#include "COMMON.c"
#endif
#include "unicode.h"
void Uni2GB(unsigned char *s,unsigned char len);
void Uni2GB(unsigned char *s,unsigned char len)
{
WORD mid,hi,lo,unicode;
BYTE i,j,k;
len=len/2;
j=0;k=0;
for(i=0;i<len;i++)
{
if (s[j+1]==0&&s[j]<0xa4)
{s[k]=s[j];j+=2;k++;}
else
{
((BYTE *)&unicode)[1]=s[j++];
((BYTE *)&unicode)[0]=s[j++];
lo=0;hi=UNICODE_MAX - 1;
while(lo<=hi)
{
mid = (lo + hi) / 2;
if (unicode==Unicode[mid][0]) {unicode=Unicode[mid][1];break;}
else if (unicode<Unicode[mid][0]) hi=mid-1;
else if (unicode>Unicode[mid][0]) lo=mid+1;
}
s[k++]=((BYTE *)&unicode)[0];
s[k++]=((BYTE *)&unicode)[1];
}
}
if (k<j) s[k]=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -