StringConvert.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // Common/StringConvert.h
  2. #ifndef __COMMON_STRINGCONVERT_H
  3. #define __COMMON_STRINGCONVERT_H
  4. #include "MyWindows.h"
  5. #include "MyString.h"
  6. #include "Types.h"
  7. UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP);
  8. AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP);
  9. inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString)
  10. { return unicodeString; }
  11. inline const UString& GetUnicodeString(const UString &unicodeString)
  12. { return unicodeString; }
  13. inline UString GetUnicodeString(const AString &ansiString)
  14. { return MultiByteToUnicodeString(ansiString); }
  15. inline UString GetUnicodeString(const AString &multiByteString, UINT codePage)
  16. { return MultiByteToUnicodeString(multiByteString, codePage); }
  17. inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT)
  18. { return unicodeString; }
  19. inline const UString& GetUnicodeString(const UString &unicodeString, UINT)
  20. { return unicodeString; }
  21. inline const char* GetAnsiString(const char* ansiString)
  22. { return ansiString; }
  23. inline const AString& GetAnsiString(const AString &ansiString)
  24. { return ansiString; }
  25. inline AString GetAnsiString(const UString &unicodeString)
  26. { return UnicodeStringToMultiByte(unicodeString); }
  27. inline const char* GetOemString(const char* oemString)
  28. { return oemString; }
  29. inline const AString& GetOemString(const AString &oemString)
  30. { return oemString; }
  31. inline AString GetOemString(const UString &unicodeString)
  32. { return UnicodeStringToMultiByte(unicodeString, CP_OEMCP); }
  33. #ifdef _UNICODE
  34. inline const wchar_t* GetSystemString(const wchar_t* unicodeString)
  35. { return unicodeString;}
  36. inline const UString& GetSystemString(const UString &unicodeString)
  37. { return unicodeString;}
  38. inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT /* codePage */)
  39. { return unicodeString;}
  40. inline const UString& GetSystemString(const UString &unicodeString, UINT /* codePage */)
  41. { return unicodeString;}
  42. inline UString GetSystemString(const AString &multiByteString, UINT codePage)
  43. { return MultiByteToUnicodeString(multiByteString, codePage);}
  44. inline UString GetSystemString(const AString &multiByteString)
  45. { return MultiByteToUnicodeString(multiByteString);}
  46. #else
  47. inline const char* GetSystemString(const char *ansiString)
  48. { return ansiString; }
  49. inline const AString& GetSystemString(const AString &multiByteString, UINT)
  50. { return multiByteString; }
  51. inline const char * GetSystemString(const char *multiByteString, UINT)
  52. { return multiByteString; }
  53. inline AString GetSystemString(const UString &unicodeString)
  54. { return UnicodeStringToMultiByte(unicodeString); }
  55. inline AString GetSystemString(const UString &unicodeString, UINT codePage)
  56. { return UnicodeStringToMultiByte(unicodeString, codePage); }
  57. #endif
  58. #ifndef _WIN32_WCE
  59. AString SystemStringToOemString(const CSysString &srcString);
  60. #endif
  61. #endif