String is just a typedef for Vec&lt;u8&gt; with some extra convenience functions for working with UTF-8. There&#x27;s nothing stopping anyone from just using Vec&lt;u8&gt; to handle non-UTF-8 data in their native format, nor stopping anyone from writing convenience types like String for other encodings.