/ * =================== binary turn hex 20-entered function GF_BINTOHEX ====================== Function name: GF_BINTOHEX parameter description: String Type 1, S_BIN Binary string
Note: Features: Convert binary strings to hex strings. Return Value: Hexadecimal strings.
Illegal binary string return -1; returns an empty string Null Author: Fei Yin Chi Date: 2005/2/4 ========================== ===================================================== * / int li_slen, LI_LOOP, Li_ModString S_HEXIF Upper (Left (S_bin, 1)) = 'b' TEN S_BIN = MID (S_BIN, 2) LI_SLEN = LEN (S_BIN) Li_MOD = MOD (Li_SLEN, 4) Choose Case Li_Mod Case 1 S_BIN = '000' s_bin case 2 s_bin = '00' s_bin case 3 s_bin = '0' s_binend choosefor li_loop = 1 to li_slen step 4 choose case mid (s_bin, li_loop, 4) case '0000' s_hex = s_hex '0' case ' 0001 'S_HEX = S_HEX ' 1 'Case' 0010 'S_HEX = S_HEX ' 2 'Case' 0011 'S_HEX = S_HEX ' 3 'Case' 0100 'S_HEX = S_HEX ' 4 'Case' 0101 'S_HEX = S_HEX ' 5 'Case' 0110 'S_HEX = S_HEX ' 6 'Case' 0111 'S_HEX = S_HEX ' 7 'Case' 1000 'S_HEX = S_HEX ' 8 'Case' 1001 'S_HEX = S_HEX ' 9 'Case' 1010 'S_HEX = S_HEX ' A 'CASE' 1011 's_hex = S_HEX ' B 'Case' 1100 'S_HEX = S_HEX ' C 'Case' 1101 'S_HEX = S_HEX ' D 'Case' 111 0 's_hex =
S_HEX 'E' CASE '1111' S_HEX = S_HEX 'F' Case Else Return "-1" EXIT End ChoosenextReturn 'H' S_HEX