gpt4 book ai didi

c - SetWindowText 显示来自 InternetReadFile() 的无法识别的代码

转载 作者:行者123 更新时间:2023-11-30 18:07:09 26 4
gpt4 key购买 nike

我想将使用InternetReadFile下载的utf-8编码的网页源代码转换为windows可以识别的utf-16。

这里是代码片段:

HINTERNET hConnect,hSession;
char *szBuffer = malloc(WEBSOURCE_SIZE);
wchar_t *wszBuffer = (wchar_t *)malloc(WEBSOURCE_SIZE);
TCHAR szStr[100];
DWORD dwSize=0;
DWORD dwDownloaded;
if(szBuffer == NULL)
{
MessageBox(hwndGetBtn,TEXT("error"),TEXT("Error"),MB_ICONHAND);
}
GetWindowText(hwndUrlEdt,szStr,sizeof(szStr)/sizeof(TCHAR));
hSession = InternetOpen(TEXT("testWinINet"), PRE_CONFIG_INTERNET_ACCESS, NULL, INTERNET_INVALID_PORT_NUMBER, 0);
hConnect = InternetOpenUrl(hSession,szStr,NULL,0,INTERNET_FLAG_DONT_CACHE,0);
ZeroMemory(szBuffer,WEBSOURCE_SIZE);
while (InternetReadFile(hConnect,szBuffer,WEBSOURCE_SIZE,&dwDownloaded))
{
if (0==dwDownloaded) break;
szBuffer[dwDownloaded]=0;
}
len=MultiByteToWideChar(CP_UTF8,0,szBuffer,-1,NULL,0);
MultiByteToWideChar(CP_UTF8,0,szBuffer,-1,wszBuffer,sizeof(wszBuffer));

SetWindowText(hwndShowEdt,wszBuffer);

当网页采用 utf-8 编码时,hwndShowEdt 编辑框始终显示无法识别的代码。

有人能发现我的代码的错误吗?

最佳答案

网页的字符集只能通过HTML meta标签识别:

<meta http-equiv="Content-Type" content="text/html;charset=gb2312">

关于c - SetWindowText 显示来自 InternetReadFile() 的无法识别的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4914985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com