class ActiveSupport::Multibyte::Chars

def decompose

'é'.mb_chars.decompose.to_s.length # => 2
'é'.length # => 1

Performs canonical decomposition on all the characters.
def decompose
  chars(Unicode.decompose(:canonical, @wrapped_string.codepoints.to_a).pack("U*"))
end