[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