问题标签 [char16-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 投票
2 回答
4105 浏览

c - 如何在C中找到处理char16_t的内置函数?

请告诉char16_t字符串操作函数的版本是什么

如:

http://www.tutorialspoint.com/ansi_c/c_function_references.htm

我找到了很多参考网站,但没有人提到这一点。

特别是对于打印功能,这是最重要的,因为它可以帮助我验证 Manipulation 功能是否有效。

0 投票
1 回答
562 浏览

c++ - 复制一个基本字符串向量

请提出一种将字节从 basic_string<char16_t> 复制到 vector<uint8_t> 的有效方法。

我不关心编码,只想将字节复制到字节数组。稍后将使用正确的下游编码对其进行解释。

谢谢。

0 投票
2 回答
6857 浏览

c++ - 从 char 转换为 char16_t

我的配置:

  • 编译器:gnu gcc 4.8.2
  • 我用 C++11 编译
  • 平台/操作系统:Linux 64bit Ubuntu 14.04.1 LTS

我有这个方法:

我非常想在 char 到 char16_T 之间进行转换(通过 std::string 和 std::u16string 以方便内存管理),但无论输入变量 str 的大小如何,它都只会返回第一个字符。如果 str="Hello" 它将返回 "H"。我不确定我的方法有什么问题。ret 的值为 1。

0 投票
1 回答
1884 浏览

c - 如何使用新的 char16_t 和 u8 类型?

c11 使用 utf-8 utf-16 和 utf-32 的内置类型改进编码支持。

但是我完全找不到在标准函数中使用它们的参考。我发现的只是如何在 c++11 而不是 C 中使用它们。

那么例如如何打印一个 char32_t 呢?

0 投票
3 回答
1689 浏览

c - char16_t 和 char32_t 字节序

在 C11 中,支持可移植的宽字符类型char16_t,并char32_t分别添加了 UTF-16 和 UTF-32。

然而,在技术报告中,并没有提到这两种类型的字节序。

例如,以下代码片段在gcc-4.8.4我的 x86_64 计算机上编译时使用-std=c11

会产生

这意味着它是小端的。

char16_t但是这种行为是否依赖于平台/实现:它是否始终遵守平台的字节序,或者某些实现可能选择始终char32_t大字节序实现?

0 投票
4 回答
10482 浏览

c++ - 带有 char16_t 或 char32_t 的 Visual Studio C++ 2015 std::codecvt

这段代码在VS2013下编译OK:

现在使用 VS2015 我得到:

0 投票
0 回答
545 浏览

c++ - 在 MSS2015 中使用 codecvt+char16_t 时如何修复链接?

我在 MSVS2015 的以下代码中使用了 char16_t 类型和 codecvt:

编译成功,但联动时出现错误:

错误 LNK2001:未解析的外部符号“__declspec(dllimport)公共:静态类 std::locale::id std::codecvt::id”(__imp_?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@一个)

如何修复此错误?

0 投票
1 回答
381 浏览

c++ - 将 std::string 转换为 utf-16(如 u"some string");调试器告诉“不存在合适的转换”

基于我之前的问题 C++: Convert hex representation of UTF16 char into decimal (like python's int(hex_data, 16))

我想知道如何将字符串转换为char16_t的 unicode :

作为

产生十进制2943非常好,我现在需要知道如何将 4 位字符串注入char16_t c = u'\uINSERTHERE'

Mystringstream_s包含 4 个十六进制表示字母,例如“0b82”(十进制:2946)或 “0b77”(十进制:2935)。

我试过了

它给了我“从 std::string 到 char16_t 不存在合适的转换函数”

所以基本上来说,如何将字符串转换为 unicode utf16 .....?

当我只有一个裸字符串 '0b7f' 时,我需要知道 u'\u0b7f' 的等价物

0 投票
2 回答
867 浏览

c - 从 char16_t* 复制到 char16_t*

我正在尝试复制一个char16_t*传递给函数但没有找到任何方法来做到这一点。

我尝试使用strncopy(),但它只复制char*.

0 投票
1 回答
1574 浏览

c++ - 为什么`std :: basic_ifstream` 在 c++11 中不起作用?

以下代码按预期工作。源代码、文件“file.txt”和“out.txt”均采用utf8编码。但是当我在第一行更改wchar_t为. 我已经尝试过 gcc5.4 和 clang8.0 。我的目标是替换为, 因为在 RAM 中需要两倍的空间。我认为这两种类型在 c++11 及更高版本的标准中同样得到很好的支持。我在这里想念什么?char16_tmain()-std=c++11wchar_tchar16_twchar_t


编辑

修改后的代码不能用 clang8.0 编译。它使用 gcc5.4 编译,但在运行时崩溃,如 @Brian 所示。