You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WriteFile/WriteFileEx写入文件时UTF-16 LE编码变为UTF-8的问题咨询

WriteFile/WriteFileEx写入文件时UTF-16 LE编码变为UTF-8的问题咨询

各位大佬好,我遇到一个编码相关的问题想请教下:我手里的内容是UTF-16 LE编码的,但当我用WriteFile把它写入.txt文件后,打开发现文件变成UTF-8编码了。我用WriteFileEx测试也碰到了同样的问题。

以下是我目前使用的代码:

hFile = CreateFile(TEXT("D:\\clown.txt"), GENERIC_READ | GENERIC_WRITE,  FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

if (hFile == INVALID_HANDLE_VALUE)
{
    wsprintf(buffer, TEXT("ERROR CODE: %i"), GetLastError());
    MessageBox(NULL, buffer, TEXT("Error"), MB_OK | MB_ICONERROR);
    return 0;
}

MessageBox(NULL, TEXT("hFile was created"), TEXT("Successfully"), MB_OK);

sBuff = GetWindowText(hEdit, buffer, BUFFER_SIZE);

if (!WriteFile(hFile, buffer, sBuff * 2, &i, NULL))
{
    wsprintf(buffer, TEXT("ERROR CODE: %i"), GetLastError());
    MessageBox(NULL, buffer, TEXT("Error"), MB_OK | MB_ICONERROR);
    return 0;
}

wsprintf(buffer, TEXT("%i"), GetLastError());
MessageBox(NULL, buffer, TEXT("Successfully"), MB_OK);

CloseHandle(hFile);
return 0;

有没有朋友能帮我分析下问题出在哪,或者该怎么调整才能让写入的文件保持UTF-16 LE编码呢?

备注:内容来源于stack exchange,提问作者kseno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 13:38:03