UNICODE串转换成char类型串的四种方法

六月 13th, 2010 by shyandsy
0

1. 调用 WideCharToMultiByte() API

int WideCharToMultiByte (
    UINT    CodePage,                //1 Unicode编码的字符页,Unicode编码有字符页的概念,比如gb2312/936,big5/950等
    DWORD   dwFlags,                //2 如何处理复合unicode字符,详细查google
    LPCWSTR lpWideCharStr,        //3 待转换的unicode串
    int     cchWideChar,                //4 表示参数3的长度  传递-1表示以0×00结尾
    LPSTR   lpMultiByteStr,            //5 接受转换后的串的字符缓冲
    int     cbMultiByte,                    //6 表示参数5lpMutiByteStr的字节大小 通常sizeof一下
    LPCSTR  lpDefaultChar,        //7 NULL 具体google
    LPBOOL  lpUsedDefaultChar//8 NULL 具体google
);

2. 调用CRT函数wcstombs()

size_t wcstombs (
    char*          mbstr,
    const wchar_t* wcstr,
    size_t         count );

3. 使用CString构造器或赋值操作

// 假设有一个Unicode串wszSomeString

CString str1 ( wszSomeString ); // 用构造器转换
CString str2;

str2 = wszSomeString; // 用赋值操作转换

4. 使用ATL串转换宏

#include <atlconv.h>

// 还是假设有一个Unicode串wszSomeString

{
    char szANSIString [MAX_PATH];
    USES_CONVERSION; // 声明这个宏要使用的局部变量

    lstrcpy ( szANSIString, OLE2A(wszSomeString) );
}
Posted in vc++

Leave a Reply

վ:Ħ Ϻgay ŰĦ Ϻ տ ɽ ɽ ŰĦ Ϻ˹˾ ŰĦ ϺŰĦ ˹˾ ݰĦ ŰĦ Ħ ϺĦ ͬ־ Ѽ˹˾ ŰĦ ϺѼ ɳ᳡ shenzhen massage ŰĦ ͬ־ Ϸʿյά ϲŰĦ 人˿ఴĦ ɽ˹˾ Ϻ Ѽ˿ Ħ ֣ŰĦ ˹˾ ݼѼ Ϻ ǿ Ϻ ڰ᳡۸ °˾
ӣǵɽǵݸǵ麣ǵɽǵɳǵɽǵǵǵǵϺǵǵǵǵݸǵɽǵ麣ǵǵɽǵɽǵǵǵǵǵǵǵǵϺǵŰĦϺǵɽanĦൺǵӰװϷϺǵϾŰĦϾŰĦϾŰĦ㶫huλ㽭huңhuң
ӣҸĻȾ,ɾӹȫ.
ugg boots cheap UGG Boots UGG Boots Sale UGG Bailey Button Triplet ugg australia uk mens ugg boots new ghd hair straighteners coach handbags outlet
ӣվĶ٣ÿ쿴ɾ, ұ˫Ϊ˴Ǯ;ãӲҪɾҾɾվɾipҲ㡣
ɹͷ Ҹ θ Ƽʪõķ ҸƷ ƾõҽԺ 򾲶ʮζ ƹɹͷҩ θҩ ҽԺ ɹͷô ƹɹͷõҽԺ θҽԺ ̿۸ lovegreen californianews
ӣǵάɽǵάݸǵά麣ǵάɽǵάɳǵάɽǵάǵάǵάǵάϺǵάǵάǵάǵάݸǵάɽǵά麣ǵάǵάɽǵάɽǵάǵάǵάǵάǵάǵάǵάǵάϺװ˿㰴ĦϺǵάɽСlaohujiϷǵӰװϾСϾСϾС㽭huϷɽǵά˿㰴Ħ