.. _program_listing_file_include_ndef-lite_encoding.hpp: Program Listing for File encoding.hpp ===================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/ndef-lite/encoding.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef UTF_HPP #define UTF_HPP #include #include #include namespace encoding { const uint8_t BOM_BE_1ST = '\xff'; const uint8_t BOM_BE_2ND = '\xfe'; enum class Endian { BigEndian, LittleEndian }; constexpr Endian system_endianness(); std::string to_utf8(const std::string& src); std::string to_utf8(const std::u16string& src); // \param src std::string source to convert std::u16string to_utf16(const std::string& src); std::u16string to_utf16(const std::u16string& src); std::u16string to_utf16(const std::vector& src); std::vector to_utf16_bytes(const std::u16string& src, const Endian& endian = Endian::LittleEndian); std::vector to_utf16le_bytes(const std::u16string& src); std::vector to_utf16be_bytes(const std::u16string& src); std::u16string from_utf16_bom(const std::vector& src); bool has_BOM(const std::u16string& text); bool has_BOM(const std::vector& bytes); } // namespace encoding #endif // UTF_HPP