|
Boost : |
Subject: Re: [boost] [general] What will string handling in C++ look like in the future [was Always treat ... ]
From: Artyom (artyomtnk_at_[hidden])
Date: 2011-01-19 12:50:50
> From: Alexander Lamaison <awl03_at_[hidden]>
>
> On Wed, 19 Jan 2011 16:13:04 +0100, Matus Chochlik wrote:
>
> >>
> >> I do not believe that UTF-8 is the way to go. In fact I know it is not,
> >> except perhaps for the very near future for some programmers ( Linux
> >> advocates ).
> >
> > :-) Just for the record, I'm not a Linux advocate any more then I'm
> > a Windows advocate. I use both .. I'm writing this on a windows machine.
> > What I would like is the whole encoding madness/dysfunction (including
> > but not limited to the dual TCHAR/whateverchar-based interfaces) to stop.
> > Everywhere.
>
> Even if I bought the UTF-8ed-Boost idea, what would we do about the STL
> implementation on Windows which expects local-codepage narrow strings? Are
> we hoping MS etc. change these to match? Because otherwise we'll be
> converting between narrow encodings for the rest of eternity.
>
> Alex
First of all today there **is** problem and STL code can't open
file, try to open "ש×××-سÙاÙ
-pease.txt" under Windows using
GCC's std::fstream... You can't.
I assume with some other compilers it happens as well.
There **is** problem ignoring it would not help us.
How can we address STL problem and UTF-8? Simply?
Provide:
boost::basic_fstream
boost::fopen
boost::freopen
boost::remove
boost::rename
Which are using same std::* classes under Posix platform
and UTF-8 aware implementations for Windows.
Take a look on this code:
http://art-blog.no-ip.info/files/nowide.zip
This is the code I use for my projects that implements
what I'm talking about - simple easy to use straightforward.
Also don't forget two things:
1. Microsoft Deprecated ANSI API and does not recommend
to use it.
If the only OS that gives us most of the encodings headache
deprecated ANSI API I don't think that Boost should
continue supporting it.
2. All the world had already moved to Unicode, Microsoft
did this as well.
They did it in their incompatible-with-rest-of-the-world
way... But still they did it too - so we can continue
ignoring the fact that UTF-8 is ultimate encoding
or go forward.
Artyom
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk