//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : EgtStringEncoder.h Data : 08.06.14 Versione : 1.5f3 // Contenuto : Insieme di funzioni per codificare stringhe UTF-8. // // // // Modifiche : 08.06.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EgtStringConverter.h" #include "/EgtDev/Include/EgtNumCollection.h" //----------------------------------------------------------------------------- bool inline SetCodePoint( unsigned int nCode, std::string& sString) { const unsigned int MAX_UNICODE = 1114111 ; if ( nCode > MAX_UNICODE) return false ; wchar_t wsVal [2] ; wsVal[0] = nCode ; wsVal[1] = L'\0' ; sString = LPSTR( WtoA(( wsVal))) ; return true ; } //----------------------------------------------------------------------------- bool inline SetCodePoints( UINTVECTOR& vCode, std::string& sString) { sString.clear() ; sString.reserve( vCode.size()) ; bool bOk = true ; for ( size_t i = 0 ; i < vCode.size() ; ++ i) { std::string sTemp ; if ( SetCodePoint( vCode[i], sTemp)) { sString += sTemp ; } else bOk = false ; } return bOk ; }