ref: 75f9f90edfa9cdb2804dce926a2a1dabb27d5a88
dir: /awk/hex.awk/
function hex(s, v){ if(s ~ /^0x/) s = substr(s, 3) for(n=1; n<=length(s); n++) v = v * 16 + h[substr(s, n, 1)] return v } BEGIN{ for(n=0; n<16; n++){ h[sprintf("%x", n)] = n h[sprintf("%X", n)] = n } }