unsigned short GetMagicNumber(wchar_t WideChar) { wchar_t wc[2]; wc[0] = WideChar; wc[1] = NULL; union { char c[2]; short s; } buffer , output; buffer.s = 0; WideCharToMultiByte(936, 0, wc, -1, (char*)&buffer, 2, 0, 0); output.c[0] = buffer.c[1]; output.c[1] = buffer.c[0]; return output.s; }