## Mathematica, <s>178</s> 134 bytes ## -approx. 6 bytes from CalculatorFeline. (n=Characters/@{##2};x=n[[1]]/.Table[ToString@i->2+Floor[#/2^(7-i)]~Mod~2,{i,0,7}]/._String->1;""<>Table[n[[x[[i]],i]],{i,Length@x}])& or (x=(f=Characters)@#2/.Table[ToString@i->2+Floor[#/2^(7-i)]~Mod~2,{i,0,7}]/._String->1;""<>Table[(f/@{##2})[[x[[i]],i]],{i,Length@x}])&