00001
00002
00003
00004
00005 #ifndef __COMMON_STRINGCONVERT_H
00006 #define __COMMON_STRINGCONVERT_H
00007
00008 #include "MyWindows.h"
00009 #include "String.h"
00010 #include "Types.h"
00011
00012 UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP);
00013 AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP);
00014
00015 inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString)
00016 { return unicodeString; }
00017 inline const UString& GetUnicodeString(const UString &unicodeString)
00018 { return unicodeString; }
00019 inline UString GetUnicodeString(const AString &ansiString)
00020 { return MultiByteToUnicodeString(ansiString); }
00021 inline UString GetUnicodeString(const AString &multiByteString, UINT codePage)
00022 { return MultiByteToUnicodeString(multiByteString, codePage); }
00023 inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT)
00024 { return unicodeString; }
00025 inline const UString& GetUnicodeString(const UString &unicodeString, UINT)
00026 { return unicodeString; }
00027
00028 inline const char* GetAnsiString(const char* ansiString)
00029 { return ansiString; }
00030 inline const AString& GetAnsiString(const AString &ansiString)
00031 { return ansiString; }
00032 inline AString GetAnsiString(const UString &unicodeString)
00033 { return UnicodeStringToMultiByte(unicodeString); }
00034
00035 inline const char* GetOemString(const char* oemString)
00036 { return oemString; }
00037 inline const AString& GetOemString(const AString &oemString)
00038 { return oemString; }
00039 inline AString GetOemString(const UString &unicodeString)
00040 { return UnicodeStringToMultiByte(unicodeString, CP_OEMCP); }
00041
00042 #ifdef _UNICODE
00043 inline const wchar_t* GetSystemString(const wchar_t* unicodeString)
00044 { return unicodeString;}
00045 inline const UString& GetSystemString(const UString &unicodeString)
00046 { return unicodeString;}
00047 inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT codePage)
00048 { return unicodeString;}
00049 inline const UString& GetSystemString(const UString &unicodeString, UINT codePage)
00050 { return unicodeString;}
00051 inline UString GetSystemString(const AString &multiByteString, UINT codePage)
00052 { return MultiByteToUnicodeString(multiByteString, codePage);}
00053 inline UString GetSystemString(const AString &multiByteString)
00054 { return MultiByteToUnicodeString(multiByteString);}
00055 #else
00056 inline const char* GetSystemString(const char *ansiString)
00057 { return ansiString; }
00058 inline const AString& GetSystemString(const AString &multiByteString, UINT)
00059 { return multiByteString; }
00060 inline const char * GetSystemString(const char *multiByteString, UINT)
00061 { return multiByteString; }
00062 inline AString GetSystemString(const UString &unicodeString)
00063 { return UnicodeStringToMultiByte(unicodeString); }
00064 inline AString GetSystemString(const UString &unicodeString, UINT codePage)
00065 { return UnicodeStringToMultiByte(unicodeString, codePage); }
00066 #endif
00067
00068 #ifndef _WIN32_WCE
00069 AString SystemStringToOemString(const CSysString &srcString);
00070 #endif
00071
00072 #endif