Message: previous - next
Month: March 2016

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

From: Michele Calgaro <michele.calgaro@...>
Date: Wed, 23 Mar 2016 16:41:36 +0900
On 2016/03/23 04:35 PM, Fat-Zer wrote:
> 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...
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 ;-)