substr("0000000100100011010001010110011110001001101010111100110111101111", ; 4*eval('0x'+subs(tran(asc(inChar),'@0'),9,1)) + 1, 4) + ; substr("0000000100100011010001010110011110001001101010111100110111101111", ; 4*eval('0x'+subs(tran(asc(inChar),'@0'),10,1)) + 1, 4)It looks a little too convoluted, and is almost as slow as the API call, and not much faster than the existing UDF which has about 40 lines of code.