有人会用C语言对UNICODE编码(形如:%u4E2D%u6587)进行解码吗?该如何解决

有人会用C语言对UNICODE编码(形如:%u4E2D%u6587)进行解码吗?
如题。

我现在需要对使用UNICODE进行编码了的字符串进行解码,注意:我需要C语言形式的代码。

谢谢~

------解决方案--------------------
%u4E2D%u6587

wchar_t wcFirst = 0x4e2d;
wchar_t wcSecond = 0x6587;

这样就解开了
------解决方案--------------------
new几个WCHAR 然后把
wchar[0]=0x4E2D
wchar[1]=0x6587
再把unicode转成ansi就行了。网上一堆一堆的代码,
下面这个供参考 

HRESULT __fastcall UnicodeToAnsi(LPCOLESTR pszW, LPSTR* ppszA)
{

ULONG cbAnsi, cCharacters;
DWORD dwError;

// If input is null then just return the same.
if (pszW == NULL)
{
*ppszA = NULL;
return NOERROR;
}

cCharacters = wcslen(pszW)+1;
// Determine number of bytes to be allocated for ANSI string. An
// ANSI string can have at most 2 bytes per character (for Double
// Byte Character Strings.)
cbAnsi = cCharacters*2;

// Use of the OLE allocator is not required because the resultant
// ANSI string will never be passed to another COM component. You
// can use your own allocator.
*ppszA = (LPSTR) CoTaskMemAlloc(cbAnsi);
if (NULL == *ppszA)
return E_OUTOFMEMORY;

// Convert to ANSI.
if (0 == WideCharToMultiByte(CP_ACP, 0, pszW, cCharacters, *ppszA,
cbAnsi, NULL, NULL))
{
dwError = GetLastError();
CoTaskMemFree(*ppszA);
*ppszA = NULL;
return HRESULT_FROM_WIN32(dwError);
}
return NOERROR;

}