Am 11.06.20 um 19:15 schrieb degski:
As a Windows user, I find this library less and less attractive. W10 is now optionally fully Unicode/utf8, there is no reason to have anything else than https://github.com/degski/Sax/blob/master/include/sax/utf8conv.hpp or something like it and do perimeter conversions with these two functions, specifically for windows. `std::filesystem` (and other bits of the STL) does the right thing. The original author worked at Microsoft at the time and the code was published on the Windows blog, i.e.this is how it is done.
Thanks for the input. On that: - The "optional" UTF-8 (via Manifest) is only available in recent enough Windows versions. Our company Windows does not support it (It seems to be some kind of LTS release) - The code uses the WinAPI for the conversion with exceptions on errors while Nowide uses replacements. I guess it's choose your poison - That conversion code requires C++17, Boost.Nowide provides support for Boost.Filesystem and std::filesystem without requiring C++17 I do wish that a day comes without needing the wide API at all anymore but this day is not today. Until then: If you can require recent enough Windows versions go for the Manifest. For the others there is Boost.Nowide. PS: sax looks like a cool collection of utils, well done!