gpt4 book ai didi

c++ - wstring 支持什么语言环境?

转载 作者:太空宇宙 更新时间:2023-11-04 12:00:10 28 4
gpt4 key购买 nike

在我的程序中,我使用 wstring 打印出我需要的文本,但它给了我随 secret 码(由于不同的编码方案)。例如,我有这段代码。

wstring text;
text.append(L"Some text");

然后我使用 directX 将其呈现在屏幕上。我曾经使用过 wchar_t,但听说它存在可移植性问题,所以我切换到 swtringwchar_t 工作正常,但据我所知它似乎只使用了英文字符(打印输出完全忽略了输入的非英文字符),这很好,直到我切换到 wstring:我只得到看起来像中文和韩文混合在一起的随 secret 码。有趣的是,我的非 unicode 文本计算机语言环境是中文。根据我所看到的,我怀疑它会正确地呈现汉字,所以我尝试了它确实正确地显示了汉字,但前面有一个方 block (这仍然是一种不正确的显示)。然后我猜编码可能取决于语言环境所以我将语言环境切换为英语(美国)(我使用win8),然后我重新启动并看到源文件中的中文测试字符变成了一些随机的东西(我的文件没有保存在 unicode 格式中,因为所有文本都是英文)然后我尝试使用英文字符,但没有运气,显示看起来完全一样并且与语言环境无关。但我不明白为什么它不能正确显示并且看起来像亚洲字符(即使我使用英语语言环境)。

是否应该进行一些转换或者我应该以不同的编码格式保存我的文件?问题是我想正确显示默认的英文字符。

最佳答案

在没有代码证明你的问题的情况下,我会给你一个相应的一般性答案。

您正试图显示英文字符,但看到的是中文字符。这就是将 8 位 ANSI 文本传递给接收 UTF-16 文本的 API 时发生的情况。在程序中寻找从 char* 转换为 wchar_t* 的地方。

关于c++ - wstring 支持什么语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460084/

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