2016-03-23 9:20 GMT+03:00 Michele Calgaro
<michele.calgaro(a)yahoo.it>it>:
On 2016/03/23 02:51 PM, Fat-Zer wrote:
Uhm, makes sense, good point.
Interestingly my disagreement with you came from the other way around: what if the
filesystem is using a 16bit or 32bit
encoding? How would TQString::fromLocal8Bit() interpret that?
Anyhow it was just my 2 cents :-)
Cheers
Michele
Firstly, TQString::fromLocal8Bit() has const char * argument, but
neither utf16 nor utf32 may be stored inside a plain char* array, so
it's not an issue (unless we are on some very strange platform with a
16 or 18 bit chars)... For Utf16 there is fromUcs2(), but on system
interaction level it's useful only for non-*nix'es...
In the unix world all API calls use char* and as a consequence no
native unix filesystem uses long-Char encoding. AFAIK the only one
semi-supported filesystem in linux that uses utf16 is ntfs, and
symbols are converted by the kernel (or ntfs-3g) to the desired
encoding (see "nls" and "utf8" mount options for kernel module and
"locale" for ntfs-3g).
PS: Sorry to everybody if we are making too much noise on the mail list...
Thanks for the detailed explanation Alex, always good to learn some more bits of
information,
since you are quite obviously more knowledgeable than me on this matter ;-)
Cheers
Michele