多字节与宽字节

来源:互联网 发布:正能量软件 编辑:程序博客网 时间:2024/05/17 08:14

多字节是指使用多个字节(1-3)表示一个字符。比如gbk使用英文占一个字节,中文占2个,这个就是多字节了。

宽字节一般是固定使用2个字节表示一个字符,utf-16(一般就是指unicode)。

//将多字节char*转化为宽字节wchar_t* wchar_t* AnsiToUnicode( const char* szStr ){    //计算需要多少个宽字节才能表示对应的多字节字符串    int nLen = MultiByteToWideChar( CP_ACP, 0, szStr, -1, NULL, 0 );    if (nLen == 0)    {        return NULL;    }    wchar_t* pResult = new wchar_t[nLen];    MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, pResult, nLen );    return pResult;}//将宽字节wchar_t*转化为多字节char*char* UnicodeToAnsi( const wchar_t* szStr ){    int nLen = WideCharToMultiByte( CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL );    if (nLen == 0)    {         return NULL;    }    char* pResult = new char[nLen];    WideCharToMultiByte( CP_ACP, 0, szStr, -1, pResult, nLen, NULL, NULL );    return pResult;}
原创粉丝点击