• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // Common/StringConvert.h
2  
3  #ifndef __COMMON_STRING_CONVERT_H
4  #define __COMMON_STRING_CONVERT_H
5  
6  #include "MyString.h"
7  #include "MyWindows.h"
8  
9  UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP);
10  
11  // optimized versions that work faster for ASCII strings
12  void MultiByteToUnicodeString2(UString &dest, const AString &srcString, UINT codePage = CP_ACP);
13  void UnicodeStringToMultiByte2(AString &dest, const UString &s, UINT codePage, char defaultChar, bool &defaultCharWasUsed);
14  void UnicodeStringToMultiByte2(AString &dest, const UString &srcString, UINT codePage);
15  
16  AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage, char defaultChar, bool &defaultCharWasUsed);
17  AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP);
18  
GetUnicodeString(const wchar_t * unicodeString)19  inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString)
20    { return unicodeString; }
GetUnicodeString(const UString & unicodeString)21  inline const UString& GetUnicodeString(const UString &unicodeString)
22    { return unicodeString; }
GetUnicodeString(const AString & ansiString)23  inline UString GetUnicodeString(const AString &ansiString)
24    { return MultiByteToUnicodeString(ansiString); }
GetUnicodeString(const AString & multiByteString,UINT codePage)25  inline UString GetUnicodeString(const AString &multiByteString, UINT codePage)
26    { return MultiByteToUnicodeString(multiByteString, codePage); }
GetUnicodeString(const wchar_t * unicodeString,UINT)27  inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT)
28    { return unicodeString; }
GetUnicodeString(const UString & unicodeString,UINT)29  inline const UString& GetUnicodeString(const UString &unicodeString, UINT)
30    { return unicodeString; }
31  
GetAnsiString(const char * ansiString)32  inline const char* GetAnsiString(const char* ansiString)
33    { return ansiString; }
GetAnsiString(const AString & ansiString)34  inline const AString& GetAnsiString(const AString &ansiString)
35    { return ansiString; }
GetAnsiString(const UString & unicodeString)36  inline AString GetAnsiString(const UString &unicodeString)
37    { return UnicodeStringToMultiByte(unicodeString); }
38  
GetOemString(const char * oemString)39  inline const char* GetOemString(const char* oemString)
40    { return oemString; }
GetOemString(const AString & oemString)41  inline const AString& GetOemString(const AString &oemString)
42    { return oemString; }
GetOemString(const UString & unicodeString)43  inline AString GetOemString(const UString &unicodeString)
44    { return UnicodeStringToMultiByte(unicodeString, CP_OEMCP); }
45  
46  
47  #ifdef _UNICODE
GetSystemString(const wchar_t * unicodeString)48    inline const wchar_t* GetSystemString(const wchar_t* unicodeString)
49      { return unicodeString;}
GetSystemString(const UString & unicodeString)50    inline const UString& GetSystemString(const UString &unicodeString)
51      { return unicodeString;}
GetSystemString(const wchar_t * unicodeString,UINT)52    inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT /* codePage */)
53      { return unicodeString;}
GetSystemString(const UString & unicodeString,UINT)54    inline const UString& GetSystemString(const UString &unicodeString, UINT /* codePage */)
55      { return unicodeString;}
GetSystemString(const AString & multiByteString,UINT codePage)56    inline UString GetSystemString(const AString &multiByteString, UINT codePage)
57      { return MultiByteToUnicodeString(multiByteString, codePage);}
GetSystemString(const AString & multiByteString)58    inline UString GetSystemString(const AString &multiByteString)
59      { return MultiByteToUnicodeString(multiByteString);}
60  #else
GetSystemString(const char * ansiString)61    inline const char* GetSystemString(const char *ansiString)
62      { return ansiString; }
GetSystemString(const AString & multiByteString,UINT)63    inline const AString& GetSystemString(const AString &multiByteString, UINT)
64      { return multiByteString; }
GetSystemString(const char * multiByteString,UINT)65    inline const char * GetSystemString(const char *multiByteString, UINT)
66      { return multiByteString; }
GetSystemString(const UString & unicodeString)67    inline AString GetSystemString(const UString &unicodeString)
68      { return UnicodeStringToMultiByte(unicodeString); }
GetSystemString(const UString & unicodeString,UINT codePage)69    inline AString GetSystemString(const UString &unicodeString, UINT codePage)
70      { return UnicodeStringToMultiByte(unicodeString, codePage); }
71  #endif
72  
73  #ifndef UNDER_CE
74  AString SystemStringToOemString(const CSysString &srcString);
75  #endif
76  
77  #endif
78