Localization: add C++ converters for UTF8 & Wide strings
[scilab.git] / scilab / modules / localization / includes / UTF8.hxx
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2015 - Scilab Enterprises - Calixte DENIZET
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #include <string>
14
15 #include "dynlib_localization.h"
16
17 namespace scilab
18 {
19
20 class UTF8
21 {
22
23 public:
24
25     LOCALIZATION_IMPEXP static std::string toUTF8(const std::wstring & wstr);
26     LOCALIZATION_IMPEXP static std::wstring toWide(const std::string & str);
27
28 private:
29
30     static int ReadUTF8Character(const char * str, int * nBytes);
31     static bool IsValidUTF8(const char*  pStText);
32
33 };
34
35 }