Massive thanks to @headius for coming up with the idea of using
Encoding::Converter and providing a proof of concept. I mainly adapted this for
Rbx with some minor changes.
Note that this particular implementation is *really* slow compared to MRI, it
is however faster than the String#chars version used before. Although I'd
prefer not to we might want to move this over to C++ land if high performance