
From: Alexander Lamaison <awl03@doc.ic.ac.uk>
Dave Abrahams wrote:
I think the reason to use separate types is to provide a type-safety barrier between your functions that operate on utf-8 and system or 3rd-party interfaces that don't or may not. In principle, that should force you to think about encoding and decoding at all the places where it may be needed, and should allow you to code naturally and with confidence where everybody is operating in utf8-land.
Yes, in principle. It isn't terribly necessary if everybody is operating in
UTF-8 land though.
Which is exactly why it's necessary: everybody _isn't_ operating in UTF-8 land.
The problem is that you need to pic some encoding and UTF-8 is the most universal and useful. Otherwise you should: 1. Reinvent the string 2. Reinvent standard library to use new string 3. Reinvent 1001 other libraries to use the new string. It is just neither feasible no necessary. Artyom