问题标签 [wstring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wstring - 如何将 wstring 转换为 LPOLESTR?
以下是我尝试过的,但没有奏效。
请任何人说什么是更好的方法?
c++ - getline 和“奇怪的字符”的问题
我有一个奇怪的问题,我使用
它适用于像这样的 txt 文件 http://www.speedyshare.com/files/29833132/a.txt (对不起链接,但它只有 80 个字节,所以得到它应该不是问题,如果 SO 换行符上的 ic/p 丢失)但是当我将例如水(来自http://en.wikipedia.org/wiki/UTF-16/UCS-2#Examples)添加到加载行的任何行时停止。我有错误的印象,将 wstring 作为一个输入和 wifstream 作为其他输入的 getline 可以咀嚼任何 txt 输入......有没有办法读取文件中的每一行,即使它包含时髦的字符?
c++ - c++文件加载期间的UTF8加扰
我知道加载 unicode 有点费力,但我看不出如何将提供给其他人的解决方案应用于我的特定问题。
我有一个 Win7/C++/DirectX9 GUI 库,可以将文本呈现到屏幕上。我以前从来没有遇到过问题,因为它只用于西欧语言。现在我必须将它与匈牙利语一起使用,这让我很头疼!我的特殊问题是加载该语言中的特殊字符。
举个例子,FELNŐTTEKNEK,意思是成人。
如果我将此字符串硬编码到我的应用程序中,它会正确呈现:
这会将字符串存储为 std::wstring,并使用 ID3DXFont::DrawTextW() 呈现它。这也证明了我选择的字体 Futura CE 能够呈现特殊字符(CE = 中欧)。
到现在为止还挺好。接下来我只是希望能够从文本文件中加载文本。没什么大不了的。然而结果很糟糕!特殊的 Ő 被另一个字符替换,主要是 Å 甚至两个字符,如 Å(第二个通常无法打印)
我通过输入文本文件确保被编码为 UTF-8 并且天真地试图加载它:
不知何故,我仍在争吵。我加载为 UTF-8 吗?有没有办法确保这一点?我只需要确保我有一个宽字符串,其中包含文本编辑器中显示的文本。
非常感激地收到任何帮助。
硅
c++ - 如何让我的 `std::string url_encode_wstring(const std::wstring &input)` 在 Linux 上工作?
所以我们有这样的功能:
它适用于 Windows,但我想知道如何(以及是否有可能)让它在 linux 下工作?
c++ - 如何将包含 utf-16 编码文本的 std::string 转换为 utf-16 wstring?
所以我们得到一个字符串 Новая папка
,它是 utf-16 编码行(Новая папка
在 utf-16 中)的 utf-8 表示,我们希望将此字符串转换为 wstring 而不更改编码.. 意思是从字面上将所有数据从字符串带到 wstring 而无需任何转换. 所以我们会得到 wstring 的Новая папка
内容。怎么做这样的事情?
更新:
我的意思是 - 我们在字符串中拥有正确 utf-16 字符串的所有数据。我们所需要做的就是将该数据放入 wstring... 这意味着如果 wstring 包含 wchar 可能恰好是0000
我们必须将 2 个字符串字符00
一起00
才能得到它。那就是我不知道该怎么做。
Update2 我是如何来到这里的——我有义务在我的服务器上使用的 C++ 库是 C 风格的解析器。它以 std::string 的形式返回我的用户请求地址。当我让我的客户以这种格式向我发送请求时。
在哪里
当然我调用 url_decode,但我得到一个字符串..( 所以我希望现在我的问题更清楚了。
c++ - 如何在 Linux API 中使用 wstring(s)?
我想在 Linux 中开发一个应用程序。我想使用 wstring 因为我的应用程序应该支持 unicode 而我不想使用 UTF-8 字符串。
在 Windows 操作系统中,使用 wstring 很容易。因为任何 ANSI API 都有 unicode 形式。例如有两个 CreateProcess API,第一个 API 是 CreateProcessA,第二个 API 是 CreateProcessW。
但是在 Linux 中使用 wstring 似乎很复杂!例如,Linux 中有一个名为parport_open的 API (它只是一个示例)。
而且我不知道如何将我的 wstring 发送到这个 API(或像 parport_open 这样接受字符串参数的 API)。
我的问题是如何在 Linux API 中使用 wstring(s)?
注意:我不想使用 UTF-8 字符串。
谢谢
c++ - 在 Linux 中是否有任何将 wstring 或 wchar_t* 转换为 UTF-8 的内置函数?
我想将 wstring 转换为 UTF-8 编码,但我想使用 Linux 的内置函数。
是否有任何内置函数可以通过简单的调用wstring
在 Linux 中转换或转换wchar_t*
为 UTF-8 ?
例子:
c++ - 将字符串转换为wstring,编码问题
我已经阅读了 Stroustrup 的附录 D(特别注意语言环境和 Codecvt)。Stroustrup 没有给出一个好的编解码器和加宽示例(恕我直言)。我一直在尝试从互联网上调转东西,没有任何乐趣。我也尝试过灌输字符串流但没有成功。
任何人都能够显示(并解释)从 UTF-8 到 UTF-16(或 UTF-32)编码的代码吗?注意:我事先不知道输入/输出字符串的大小,所以我希望解决方案应该使用reserve
和一个back_inserter
. 请不要使用out.resize(in.length()*2)
.
完成后,如果代码确实有效,那就太好了(令人惊讶的是那里有多少损坏的代码)。请确保以下“往返”。下面的字节是 UTF-8 和 UTF-{16|32} 中“bone”的汉字。
我为一个基本问题道歉。在 Windows 上,我使用 Win32 API,并且在编码之间移动时没有这些问题。
c++ - boost::variant 是否与 std::string 一起使用?
我使用 boost::variant 用 C++ 编写了一个简单的程序。程序代码如下所示。
但是当我尝试用命令编译它时
我明白了
其次是一堆候选函数。
我错过了什么?有趣的是,当我使用std::string
而不是std::wstring
一切都很好时。
提前致谢。