Conversion UTF-8 vers autre codec

Stephane Carrez via Ada-france <[email protected]> Thu, 20 May 2021 08:21:39 +0200
Newsgroups gmane.comp.lang.ada.france
Message-ID <CAJJuuYqXwKcmCYbWuV-b9_foaR8HjkkMDHq3Mj7ONmN-zE2TUg@mail.gmail.com>
Bonjour,

L'autre jour en implémentant l'export Excel pour le site Ada-France,
j'ai eu besoin de convertir de l'UTF-8 en Latin puisque l'UTF-8 n'est
pas supporté par la librairie Excel_Out de Gautier de Montmollin.

Voici la méthode simple, basée sur le paquetage Unicode.Encodings
qu'Emanuel Briot a écrit pour XML/Ada.  Comme il a mis tous les codecs,
vous pouvez l'utiliser pour convertir vers n'importe quel autre codec,
ici ISO-8859-15 (ie, Latin-9).

with Unicode.Encodings;

   function To_Latin1 (Content : in String) return String is
     (Unicode.Encodings.Convert (Content,
                                 Unicode.Encodings.Get_By_Name ("utf-8"),
                                 Unicode.Encodings.Get_By_Name
("iso-8859-15")));

Ça m'a semblé plus simple que d'utiliser iconv et de faire un binding C

Stephane
_______________________________________________
Ada-france mailing list
[email protected]
https://mail.ada-france.org/cgi-bin/mailman/listinfo/ada-france