Are these encodings common enough that they're worth supporting in the basic String class? Surely another class could be provided to handle these edge cases, they don't have to be natively handled.
There's no need for any data loss to occur - the String class would merely not support converting from non round-trippable encodings.
If they're not natively handled, you can't regex them.
If they're not natively handled, you can't convert any numbers that might be in them to numeric values.
Yes, they're common enough (especially in Japan) and encodings have to be baked deeply in if you really want to use everything that a Rubyist expects to be able to use.
There's no need for any data loss to occur - the String class would merely not support converting from non round-trippable encodings.