rlm@1: // Common/StringConvert.h rlm@1: rlm@1: #ifndef __COMMON_STRINGCONVERT_H rlm@1: #define __COMMON_STRINGCONVERT_H rlm@1: rlm@1: #include "MyWindows.h" rlm@1: #include "MyString.h" rlm@1: #include "Types.h" rlm@1: rlm@1: UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP); rlm@1: AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage, char defaultChar, bool &defaultCharWasUsed); rlm@1: AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP); rlm@1: rlm@1: rlm@1: inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString) rlm@1: { return unicodeString; } rlm@1: inline const UString& GetUnicodeString(const UString &unicodeString) rlm@1: { return unicodeString; } rlm@1: inline UString GetUnicodeString(const AString &ansiString) rlm@1: { return MultiByteToUnicodeString(ansiString); } rlm@1: inline UString GetUnicodeString(const AString &multiByteString, UINT codePage) rlm@1: { return MultiByteToUnicodeString(multiByteString, codePage); } rlm@1: inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT) rlm@1: { return unicodeString; } rlm@1: inline const UString& GetUnicodeString(const UString &unicodeString, UINT) rlm@1: { return unicodeString; } rlm@1: rlm@1: inline const char* GetAnsiString(const char* ansiString) rlm@1: { return ansiString; } rlm@1: inline const AString& GetAnsiString(const AString &ansiString) rlm@1: { return ansiString; } rlm@1: inline AString GetAnsiString(const UString &unicodeString) rlm@1: { return UnicodeStringToMultiByte(unicodeString); } rlm@1: rlm@1: inline const char* GetOemString(const char* oemString) rlm@1: { return oemString; } rlm@1: inline const AString& GetOemString(const AString &oemString) rlm@1: { return oemString; } rlm@1: inline AString GetOemString(const UString &unicodeString) rlm@1: { return UnicodeStringToMultiByte(unicodeString, CP_OEMCP); } rlm@1: rlm@1: rlm@1: #ifdef _UNICODE rlm@1: inline const wchar_t* GetSystemString(const wchar_t* unicodeString) rlm@1: { return unicodeString;} rlm@1: inline const UString& GetSystemString(const UString &unicodeString) rlm@1: { return unicodeString;} rlm@1: inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT /* codePage */) rlm@1: { return unicodeString;} rlm@1: inline const UString& GetSystemString(const UString &unicodeString, UINT /* codePage */) rlm@1: { return unicodeString;} rlm@1: inline UString GetSystemString(const AString &multiByteString, UINT codePage) rlm@1: { return MultiByteToUnicodeString(multiByteString, codePage);} rlm@1: inline UString GetSystemString(const AString &multiByteString) rlm@1: { return MultiByteToUnicodeString(multiByteString);} rlm@1: #else rlm@1: inline const char* GetSystemString(const char *ansiString) rlm@1: { return ansiString; } rlm@1: inline const AString& GetSystemString(const AString &multiByteString, UINT) rlm@1: { return multiByteString; } rlm@1: inline const char * GetSystemString(const char *multiByteString, UINT) rlm@1: { return multiByteString; } rlm@1: inline AString GetSystemString(const UString &unicodeString) rlm@1: { return UnicodeStringToMultiByte(unicodeString); } rlm@1: inline AString GetSystemString(const UString &unicodeString, UINT codePage) rlm@1: { return UnicodeStringToMultiByte(unicodeString, codePage); } rlm@1: #endif rlm@1: rlm@1: #ifndef _WIN32_WCE rlm@1: AString SystemStringToOemString(const CSysString &srcString); rlm@1: #endif rlm@1: rlm@1: #endif