怎么才能把字符串转换成utf8码? 急哦!!!!!!!!!!!!!!!!!!

fj44 2004-04-08 07:29:09
怎么才能把字符串转换成utf8码? 急哦!!!!!!!!!!!!!!!!!!
...全文
292 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fj44 2004-04-08
  • 打赏
  • 举报
回复
出来了,谢谢大家了
xstring 2004-04-08
  • 打赏
  • 举报
回复
You are welcome
fj44 2004-04-08
  • 打赏
  • 举报
回复
xstring(麻雀) 谢谢啦 让我先试试
xstring 2004-04-08
  • 打赏
  • 举报
回复
恩,对
fj44 2004-04-08
  • 打赏
  • 举报
回复
xstring(麻雀)

那段代码难道是 先把字符串 转换成 utf8 (在//strB即为所求 之前)

然后再转换回来 是吗?
xstring 2004-04-08
  • 打赏
  • 举报
回复
你看错了,你再仔细看看他的代码,和我说的是一样的,只不过他的某些注释是错误的。
fj44 2004-04-08
  • 打赏
  • 举报
回复
在 //strB即为所求 之后是不是就是吧 字符串转换成utf8

先把 字符串转换成unicode码 用MultiByteToWideChar 为什么里面的参数是CP_UTF8
xstring(麻雀) 不是说应该是CP_ACP??
fj44 2004-04-08
  • 打赏
  • 举报
回复
bluebohe(薄荷) (MVP):
在你的代码中, //strB即为所求 之前 是把utf8转换成。。。

为什么每次都要有2部转换呀?
xstring 2004-04-08
  • 打赏
  • 举报
回复
windows下面的unicode使用的就是utf16
fj44 2004-04-08
  • 打赏
  • 举报
回复
unicode 和utf16是一样的?
bluebohe 2004-04-08
  • 打赏
  • 举报
回复
这里面包含了两个方向的转换,你看一下吧
#include "Windows.h"
int main(void)
{
char str [ 256 ] = "唐志国" ; //一段UTF-8编码
WCHAR* strA;
int i= MultiByteToWideChar ( CP_ACP , 0 ,(char*) str ,-1 ,NULL,0);
strA = new WCHAR[i];
MultiByteToWideChar ( CP_ACP , 0 ,( char * ) str, -1, strA , i);

i= WideCharToMultiByte(CP_UTF8,0,strA,-1,NULL,0,NULL,NULL);
char *strB=new char[i];
WideCharToMultiByte (CP_UTF8,0,strA,-1,strB,i,NULL,NULL);
//strB即为所求

delete []strA;

i= MultiByteToWideChar ( CP_UTF8 , 0 ,(char*) strB ,-1 ,NULL,0);
strA = new WCHAR[i];
MultiByteToWideChar ( CP_UTF8 , 0 ,( char * ) strB, -1, strA , i);

delete []strB;

i= WideCharToMultiByte(CP_ACP,0,strA,-1,NULL,0,NULL,NULL);
strB=new char[i];
WideCharToMultiByte (CP_ACP,0,strA,-1,strB,i,NULL,NULL);
//strB即为所求
delete []strA;

delete []strB;


return 0;
}
fj44 2004-04-08
  • 打赏
  • 举报
回复
难道我们在屏幕上输出的文字就是ANSI码吗?

也就是说我们需要进行2次变换?
xstring 2004-04-08
  • 打赏
  • 举报
回复
MultiByteToWideChar (CP_ACP, ...); // ANSI字符串转化成Unicode字符串
WideCharToMultiByte (CP_UTF8, ...); // Unicode字符串转化成Utf8字符串

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧