Code Ranges: A Deeper Look at Ruby Strings