[fpc-pascal] Casting UTF8String, WideString and UnicodeString into AnsiString and vice versa
Jonas Maebe
jonas.maebe at elis.ugent.be
Mon Dec 3 20:07:41 CET 2012
On 03 Dec 2012, at 20:01, ik wrote:
> On Mon, Dec 3, 2012 at 7:31 PM, Jonas Maebe <jonas.maebe at elis.ugent.be> wrote:
>>
>> On 03 Dec 2012, at 18:12, ik wrote:
>>
>>> I made casting of UTF8String, WideString and UnicodeString to AnsiString:
>>> https://github.com/ik5/fp-msgpack/blob/master/src/msgpack.pas#L452
>>>
>>> As an example.
>>>
>>> My tests works. but are there things/contents that can break this
>>> casting, or change the content itself in some way ?
>>
>> It creates a new temporary string with the default code page for that string type (e.g., DefaultSystemCodePage for ansistring), and converts the original string's content to this new encoding.
>
> Isn't that only 2.7.1 feature ?!
Well, you didn't specify a particular version, and you asked about what could break such casting. And other than the string-specific codepages for ansistring/utf8string, the rest still holds (e.g. casting a unicodestring to ansistring can easily result in data loss even in 2.6.x, because there will be a conversion to the default system code page).
Jonas
More information about the fpc-pascal
mailing list