问题标签 [wchar-t]

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.

0 投票
5 回答
20094 浏览

c++ - 如何有效地将 BSTR 复制到 wchar_t[]?

我有一个 BSTR 对象,我想将其转换为复制到 wchar__t 对象。棘手的是 BSTR 对象的长度可能从几千字节到几百千字节不等。有没有一种有效的方法来复制数据?我知道我可以只声明一个 wchar_t 数组并始终分配它需要保存的最大可能数据。然而,这意味着为可能只需要几千字节的东西分配数百千字节的数据。有什么建议么?

0 投票
2 回答
960 浏览

c++ - C/C++ 的广泛执行

是否有(即用作路径和参数的wchar_t版本)?在,我可以做,但是在,我被卡住了(即没有纯粹的等价物)。我正在尝试为我的程序添加支持(自动运行)。exec[lv][pe]execwchar_twchar_tWindowsCreateProcessW(process, cmdline)*nixPOSIXUTF-16

0 投票
12 回答
41174 浏览

c++ - TCHAR 仍然相关吗?

我是 Windows 编程的新手,在阅读 Petzold 的书后,我想知道:

TCHAR使用类型和_T()函数来声明字符串是否仍然是一种好习惯,或者我是否应该只在新代码中使用wchar_t和字符串?L""

我将只针对 Windows 2000 及更高版本,我的代码从一开始就是i18n 。

0 投票
4 回答
1865 浏览

c++ - 如何在 Windows 的 wchar_t 和 GCC/Linux 之间进行转换(不一定以编程方式)?

假设我有这个 Windows wchar_t 字符串:

并希望将其(不一定以编程方式;这将是一次性的)转换为 GCC/Linux wchar_t 格式,即 UTF-32 AFAIK。我该怎么做?(一般的解释会很好,但基于这个具体案例的例子也会有帮助)

请不要将我引导到字符转换站点。我想从 L"\x(something)" 形式转换,而不是 "end character" 形式。

0 投票
4 回答
159932 浏览

c++ - 我想将 std::string 转换为 const wchar_t *

有什么方法吗?我的电脑是AMD64。

当我使用:

VS2005 编译器说:

我该怎么做?

0 投票
3 回答
3759 浏览

c++ - wchar_t 数据是否需要字节序转换?

在 C/C++ 中,如果一个多字节宽字符 (wchar_t) 值从大端系统传输到小端系统(或反之亦然),它会在另一端输出相同的值吗?还是需要交换字节?

0 投票
4 回答
4632 浏览

c++ - C++ 中的可移植 wchar_t

C++ 中有可移植的 wchar_t 吗?在 Windows 上,它的 2 个字节。其他一切都是4个字节。我想在我的应用程序中使用 wstring,但是如果我决定移植它,这将导致问题。

0 投票
4 回答
5153 浏览

windows - 如何在 Linux 中使用 POSIX 方法从文件中读取 Unicode-16 字符串?

我有一个包含 UNICODE-16 字符串的文件,我想将其读入 Linux 程序。这些字符串是从 Windows 的内部 WCHAR 格式原始写入的。(Windows 是否总是使用 UTF-16?例如在日文版本中)

我相信我可以使用原始读取和使用 wcstombs_l 进行转换来读取它们。但是,我不知道要使用什么语言环境。在我最新的 Ubuntu 和 Mac OS X 机器上运行“locale -a”会产生零语言环境,其名称中包含 utf-16。

有没有更好的办法?

更新:正确答案和下面的其他人帮助我使用 libiconv。这是我用来进行转换的函数。我目前将它放在一个类中,该类将转换为一行代码。

0 投票
2 回答
930 浏览

winapi - Win32:判断stdout句柄是char还是wchar流

我正在为我们的产品编写一个 win32 实用程序函数,该函数需要通过 shell 调用任意程序并记录其输出。我们通过将标准输出从子进程重定向到管道来做到这一点:

可以这样调用的程序种类繁多,其中许多不在我们的控制之下。目前我们看到一个问题,许多程序的输出在第一个字符之后似乎被截断——通常是一个确定的信号,表明 WCHAR 字符串被错误地用作 CHAR。

如何判断子进程是作为 CHAR 还是 WCHAR 写入其 stdout 管道?

0 投票
5 回答
1196 浏览

c++ - std::wcout << L"élève" 的意外输出;在 Windows 外壳中

在测试一些函数以在 wchar_t 和 utf8 之间转换字符串时,我在 Visual C++ express 2008 中遇到了以下奇怪的结果

打印出“ÚlÞve:”,这显然不是预期的。

这显然是一个错误。怎么可能 ?我应该如何处理这样的“功能”?