1------------------------------------------------------------------------------ 2-- -- 3-- GNAT RUN-TIME COMPONENTS -- 4-- -- 5-- ADA.STRINGS.UTF_ENCODING.CONVERSIONS -- 6-- -- 7-- S p e c -- 8-- -- 9-- This specification is derived from the Ada Reference Manual for use with -- 10-- GNAT. In accordance with the copyright of that document, you can freely -- 11-- copy and modify this specification, provided that if you redistribute a -- 12-- modified version, any changes that you have made are clearly indicated. -- 13-- -- 14------------------------------------------------------------------------------ 15 16-- This is an Ada 2012 package defined in AI05-0137-1. It provides conversions 17-- from one UTF encoding method to another. Note: this package is consistent 18-- with Ada 95, and may be used in Ada 95 or Ada 2005 mode. 19 20package Ada.Strings.UTF_Encoding.Conversions is 21 pragma Pure (Conversions); 22 23 -- In the following conversion routines, a BOM in the input that matches 24 -- the encoding scheme is ignored, an incorrect BOM causes Encoding_Error 25 -- to be raised. A BOM is present in the output if the Output_BOM parameter 26 -- is set to True. 27 28 function Convert 29 (Item : UTF_String; 30 Input_Scheme : Encoding_Scheme; 31 Output_Scheme : Encoding_Scheme; 32 Output_BOM : Boolean := False) return UTF_String; 33 -- Convert from input encoded in UTF-8, UTF-16LE, or UTF-16BE as specified 34 -- by the Input_Scheme argument, and generate an output encoded in one of 35 -- these three schemes as specified by the Output_Scheme argument. 36 37 function Convert 38 (Item : UTF_String; 39 Input_Scheme : Encoding_Scheme; 40 Output_BOM : Boolean := False) return UTF_16_Wide_String; 41 -- Convert from input encoded in UTF-8, UTF-16LE, or UTF-16BE as specified 42 -- by the Input_Scheme argument, and generate an output encoded in UTF-16. 43 44 function Convert 45 (Item : UTF_8_String; 46 Output_BOM : Boolean := False) return UTF_16_Wide_String; 47 -- Convert from UTF-8 to UTF-16 48 49 function Convert 50 (Item : UTF_16_Wide_String; 51 Output_Scheme : Encoding_Scheme; 52 Output_BOM : Boolean := False) return UTF_String; 53 -- Convert from UTF-16 to UTF-8, UTF-16LE, or UTF-16BE as specified by 54 -- the Output_Scheme argument. 55 56 function Convert 57 (Item : UTF_16_Wide_String; 58 Output_BOM : Boolean := False) return UTF_8_String; 59 -- Convert from UTF-16 to UTF-8 60 61end Ada.Strings.UTF_Encoding.Conversions; 62