相关疑难解决方法(0)

在C++中将UTF-8转换为ANSI

我无法在任何地方找到这个问题的答案.

如何在C++中将字符串从UTF-8转换为ANSI(扩展ASCII)?

c++ ascii utf-8 character-encoding

2
推荐指数
2
解决办法
1万
查看次数

如何将 UTF8 字符数组转换为 Windows 1252 字符数组

我是 C++ 的菜鸟,所以我很抱歉提出愚蠢的问题。

我有一段文字:Павло

我从我正在处理的一段代码中的控制台输出中得到它。我知道这是隐藏在它后面的西里尔字。它的真正价值是“?????”。

使用在线编码检测器,我发现要正确阅读此文本,我必须将其从 UTF-8 转换为 Windows 1252。

我怎样才能用代码做到这一点?

我试过这个,它给出了一些结果,但它输出了 5 个问号(至少是预期的)

    wchar_t *CodePageToUnicode(int codePage, const char *src)
{
    if (!src) return 0;
    int srcLen = strlen(src);
    if (!srcLen)
    {
        wchar_t *w = new wchar_t[1];
        w[0] = 0;
        return w;
    }

    int requiredSize = MultiByteToWideChar(codePage,
        0,
        src, srcLen, 0, 0);

    if (!requiredSize)
    {
        return 0;
    }

    wchar_t *w = new wchar_t[requiredSize + 1];
    w[requiredSize] = 0;

    int retval = MultiByteToWideChar(codePage,
        0,
        src, srcLen, w, requiredSize);
    if (!retval)
    { …
Run Code Online (Sandbox Code Playgroud)

c++ unicode utf-8

0
推荐指数
1
解决办法
1487
查看次数

标签 统计

c++ ×2

utf-8 ×2

ascii ×1

character-encoding ×1

unicode ×1