繁体   English   中英

相当于(char)的C ++ unicode(或wstring?)

[英]C++ unicode (or wstring?) equivalent for (char)

有人可以告诉我“(char)”的Unicode等效吗?

对于ASCII,我经常使用例如

 (char)(7)

现在我想对Unicode做同样的事情。

 (wchar_t)(7)

没有解决,并且wchar不存在。

我想将此(可能的)Unicode字符传递给接受wstring的函数。

或换句话说:我如何以编程方式从Unicode字符值创建wstring(例如TAB为7)?

我想将此(可能的)Unicode字符传递给接受wstring的函数。

然后,你需要做wstring ,就像你将不得不作出一个string从一个char ,如果你需要一个ASCII字符传递给接受一个函数string

function(std::wstring(1, 7)); // length 1, filled with value 7

内存中的数据未以Unicode存储。 Unicode为计算机上使用的每个(很多)字符提供了唯一的编号。

在内存中,字符被编码:将字节值映射到Unicode数字。

您使用什么编码?

  • UTF-8 :每个字符都映射到1、2、3、4、5或6个字节的序列。
  • UTF-16 :每个字符都映射到2或4个字节的序列。
  • UCS-2:大多数字符到2字节序列的不完整映射。
  • UTF-32 :每个字符都映射到一个4字节的序列。

win32中的wchar_t是16位,并且字符应以 UCS-2 UTF-16编码。

大多数* NIX上的wchar_t是32位,并且字符应使用UTF-32编码。

更新

looks,看来我老了。 我的上一个工作是在VS2005中进行的,仍然有UCS-2作为内部编码的引用,但我想即使是已经过时了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM