I’ve know that str.split had an idiom which split strings into characters (by default, bytes in Ruby 1.8) if passed a regular expression that matched a zero-width string, thus: string.split(//) What I didn’t know was that this idiom was sensitive to either the encoding of the regular expression (example: //u) or the value of KCODE. But that’s not the most important part. The interesting thing is