/*===================十六进制转二进制函数gf_hextobin=====================
函数名:gf_bintohex
参数说明:
string类型 1、s_hex 十六进制字符串
注意事项:
功能:将十六进制字符串转换为二进制字符串。
返回值:二进制的字符串。非法十六进制字符串返回-1;空串返回Null
作者:费贤智
日期:2005/2/4
=======================================================================*/
int li_len,li_loop
string ls_return
if upper(left(s_hex,1))='H' then s_hex=mid(s_hex,2)//去除进制标志
li_len=len(s_hex)
for li_loop=1 to li_len
choose case mid(s_hex,li_loop,1)
case '0'
ls_return=ls_return+'0000'
case '1'
ls_return=ls_return+'0001'
case '2'
ls_return=ls_return+'0010'
case '3'
ls_return=ls_return+'0011'
case '4'
ls_return=ls_return+'0100'
case '5'
ls_return=ls_return+'0101'
case '6'
ls_return=ls_return+'0110'
case '7'
ls_return=ls_return+'0111'
case '8'
ls_return=ls_return+'1000'
case '9'
ls_return=ls_return+'1001'
case 'A','a'
ls_return=ls_return+'1010'
case 'B','b'
ls_return=ls_return+'1011'
case 'C','c'
ls_return=ls_return+'1100'
case 'D','d'
ls_return=ls_return+'1101'
case 'E','e'
ls_return=ls_return+'1110'
case 'F','f'
ls_return=ls_return+'1111'
case else
return "-1"
exit
end choose
next
for li_loop=1 to 3//去除数字前面的0
if left(ls_return,1)='0' then ls_return=mid(ls_return,2)
next
return "B"+ls_return