UNICODE ANSI转换

Posted zhengmeifu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNICODE ANSI转换相关的知识,希望对你有一定的参考价值。

UNICODE ANSI转换

个人感觉ANSI -> UNICODE,编码方式为: 如ANSI  0X4A   -> UNICODE 0X4A00 不知道对不?

两个UNICODE ANSI转换函数:

void UnicodeToAnsi(WCHAR* lpString,char *szAnsi)

 size_t len = wcslen(lpString)*2;

char *buf = (char *)malloc(len);

 size_t i = wcstombs(buf,lpString,len);

strcpy(szAnsi,buf);

free(buf);

void AnsiTounicode(LPCSTR lpString,WCHAR * lpUni)

 PWSTR pWideCharStr;  // 指向UNICODE字符串的指针

int nLenOfWideCharStr;  // UNICODE字符串的长度

// 获取ANSI字符串的长度

nLenOfWideCharStr = MultiByteToWideChar(CP_ACP, 0, lpString, -1, NULL, 0);

pWideCharStr = (PWSTR)HeapAlloc(GetProcessHeap(), 0, nLenOfWideCharStr * sizeof(WCHAR));

// 转换ANSI字符串为UNICODE字符串

MultiByteToWideChar(CP_ACP, 0, lpString, -1, pWideCharStr, nLenOfWideCharStr);

wcscpy(lpUni,pWideCharStr);

 // 释放分配的字符串

 HeapFree(GetProcessHeap(), 0, pWideCharStr);

以上是关于UNICODE ANSI转换的主要内容,如果未能解决你的问题,请参考以下文章

如何将 ANSI 文本转换为 Unicode?

WinAPI FTPGetFile 从 ANSI 到 Unicode 的转换

如何将 DOS ANSI (CP 437) 文件转换为带有 Unicode 的 Unix ANSI?

Unicode与ANSI的转换

Unicode 转码 Ansi ,用于读取注册表后的值转换

如何实现UTF-8 Unicode Ansi 汉字编码转换