Does a #python library already exist that adds all these helpful string methods so I don't have to write one?
mb_chars is a multibyte safe proxy for string methods. In Ruby 1.8 and older it creates and returns an instance of the ActiveSupport::Multibyte::Chars class which encapsulates the original string. A Unicode safe version of all the String methods are defined on this proxy class. If the proxy class doesn’t respond to a certain method, it’s forwarded to the encapsulated string. name = 'Claus Müller' name .reverse # => "rell??M sualC" name .length # => 13 name .mb_chars .reverse .to_s # => "rellüM sualC" name .mb_chars .length # => 12 In Ruby 1.9 and newer mb_chars returns self because String is (mostly) encoding aware. This means that it becomes easy to run one version of your code on multiple Ruby versions. Method chaining All the methods on the Chars proxy which normally return a string will return a Chars object. This allows method chaining on the result of any of these me...