namespace simgear {
namespace strutils {
+ /**
+ * utf8ToLatin1() convert utf8 to latin, useful for accent character (i.e éâàîè...)
+ */
+ std::string utf8ToLatin1( std::string & s_utf8 );
+
// /**
// * atof() wrapper for "string" type
// */
*/
std::string uppercase(const std::string &s);
+ /**
+ * Convert a string to lower case.
+ * @return lower case string
+ */
+ std::string lowercase(const std::string &s);
+
+ /**
+ * Convert a string to lower case in place
+ */
+ void lowercase(std::string &s);
+
/**
* convert a string in the local Windows 8-bit encoding to UTF-8
* (no-op on other platforms)
*/
std::string convertWindowsLocal8BitToUtf8(const std::string& a);
+#if defined(SG_WINDOWS)
+ typedef std::vector<wchar_t> WCharVec;
+ WCharVec convertUtf8ToWString(const std::string& a);
+#endif
+
/**
* convert base-64 encoded data to raw bytes (possibly with embedded
* NULs). Throws an exception if input data is not base64, or is
* malformed
*/
- std::string decodeBase64(const std::string& a);
+ void decodeBase64(const std::string& a, std::vector<unsigned char>& output);
/**
* convert bytes to hexadecimal equivalent