Message: previous - next
Month: March 2016

Re: [trinity-devel] TQString::fromUtf8 vs TQString::fromLatin1

From: Fat-Zer <fatzer2@...>
Date: Wed, 23 Mar 2016 10:35:20 +0300
2016-03-23 9:20 GMT+03:00 Michele Calgaro <michele.calgaro@...>:
> 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...