Subject Re: [firebird-support] Re: udf won't do what it should
Author Lester Caine
Dimitry Sibiryakov wrote:

> On 26 Jun 2006 at 17:00, Helen Borrie wrote:
>
>>>and is sequence of one-byte characters.
>>
>>Typo. UNICODE_FSS is non-variable three-byte characters, i.e. even
>>the equivalents of the low-byte ASCII characters are 3 bytes.
>
> Really? I always thought that chars in it (like in utf-8) have
> variable length (up to 3 bytes). May be I had choosen wrong
> expression? Something like 'sequence of up to three-bytes characters'
> would br better... My English is not good, you know...

MY understanding of UNICODE_FSS was that it is a 'wide' string format,
and that 24bits per character were used, so 3 bytes. So when you compare
strings you do not have to do anything other than a simple byte by byte
comparison. The 'compression' comes when the whole record is compressed
to store, not the elements of each raw string.

Personally I think that a raw - perhaps 4 byte - format is worth having,
but the newer formats will be proper UTF-8 compressed strings, so in
order to do a comparison you may need to uncompress strings.

--
Lester Caine - G8HFL
-----------------------------
L.S.Caine Electronic Services - http://home.lsces.co.uk
Model Engineers Digital Workshop -
http://home.lsces.co.uk/ModelEngineersDigitalWorkshop/
Treasurer - Firebird Foundation Inc. - http://www.firebirdsql.org/index.php