Source code

Revision control

Copy as Markdown

Other Tools

// Common/StringConvert.h↩
#ifndef __COMMON_STRING_CONVERT_H↩
#define __COMMON_STRING_CONVERT_H↩
#include "MyString.h"
#include "MyWindows.h"
UString MultiByteToUnicodeString(const AString &src, UINT codePage = CP_ACP);↩
UString MultiByteToUnicodeString(const char *src, UINT codePage = CP_ACP);↩
// optimized versions that work faster for ASCII strings↩
void MultiByteToUnicodeString2(UString &dest, const AString &src, UINT codePage = CP_ACP);↩
// void UnicodeStringToMultiByte2(AString &dest, const UString &s, UINT codePage, char defaultChar, bool &defaultCharWasUsed);↩
void UnicodeStringToMultiByte2(AString &dest, const UString &src, UINT codePage);↩
AString UnicodeStringToMultiByte(const UString &src, UINT codePage, char defaultChar, bool &defaultCharWasUsed);↩
AString UnicodeStringToMultiByte(const UString &src, UINT codePage = CP_ACP);↩
inline const wchar_t* GetUnicodeString(const wchar_t *u) { return u; }↩
inline const UString& GetUnicodeString(const UString &u) { return u; }↩
inline UString GetUnicodeString(const AString &a) { return MultiByteToUnicodeString(a); }↩
inline UString GetUnicodeString(const char *a) { return MultiByteToUnicodeString(a); }↩
inline UString GetUnicodeString(const AString &a, UINT codePage)↩
{ return MultiByteToUnicodeString(a, codePage); }↩
inline UString GetUnicodeString(const char *a, UINT codePage)↩
{ return MultiByteToUnicodeString(a, codePage); }↩
inline const wchar_t* GetUnicodeString(const wchar_t *u, UINT) { return u; }↩
inline const UString& GetUnicodeString(const UString &u, UINT) { return u; }↩
inline const char* GetAnsiString(const char *a) { return a; }↩
inline const AString& GetAnsiString(const AString &a) { return a; }↩
inline AString GetAnsiString(const wchar_t *u) { return UnicodeStringToMultiByte(UString(u)); }↩
inline AString GetAnsiString(const UString &u) { return UnicodeStringToMultiByte(u); }↩
/*↩
inline const char* GetOemString(const char* oem)↩
{ return oem; }↩
inline const AString& GetOemString(const AString &oem)↩
{ return oem; }↩
*/
const char* GetOemString(const char* oem);↩
const AString& GetOemString(const AString &oem);↩
inline AString GetOemString(const UString &u)↩
{ return UnicodeStringToMultiByte(u, CP_OEMCP); }↩
#ifdef _UNICODE↩
inline const wchar_t* GetSystemString(const wchar_t *u) { return u;}↩
inline const UString& GetSystemString(const UString &u) { return u;}↩
inline const wchar_t* GetSystemString(const wchar_t *u, UINT /* codePage */) { return u;}↩
inline const UString& GetSystemString(const UString &u, UINT /* codePage */) { return u;}↩
inline UString GetSystemString(const AString &a, UINT codePage) { return MultiByteToUnicodeString(a, codePage); }↩
inline UString GetSystemString(const char *a, UINT codePage) { return MultiByteToUnicodeString(a, codePage); }↩
inline UString GetSystemString(const AString &a) { return MultiByteToUnicodeString(a); }↩
inline UString GetSystemString(const char *a) { return MultiByteToUnicodeString(a); }↩
#else
inline const char* GetSystemString(const char *a) { return a; }↩
inline const AString& GetSystemString(const AString &a) { return a; }↩
inline const char* GetSystemString(const char *a, UINT) { return a; }↩
inline const AString& GetSystemString(const AString &a, UINT) { return a; }↩
inline AString GetSystemString(const wchar_t *u) { return UnicodeStringToMultiByte(UString(u)); }↩
inline AString GetSystemString(const UString &u) { return UnicodeStringToMultiByte(u); }↩
inline AString GetSystemString(const UString &u, UINT codePage) { return UnicodeStringToMultiByte(u, codePage); }↩
/*↩
inline AString GetSystemString(const wchar_t *u)↩
{↩
UString s;↩
s = u;↩
return UnicodeStringToMultiByte(s);↩
}↩
*/
#endif
#ifndef UNDER_CE↩
AString SystemStringToOemString(const CSysString &src);↩
#endif
#endif