有人可以告诉我“(char)”的Unicode等价物是什么吗?
对于ASCII我总是使用例如
(char)(7)
现在我想对Unicode做同样的事情。
但是
(wchar_t)(7)
没有用,wchar不存在。
我想将这个(可能的)Unicode字符传递给接受wstring的函数。
或换句话说: 如何以编程方式从unicode字符值创建wstring(如TAB为7)?
答案 0 :(得分:3)
我想将这个(可能的)Unicode字符传递给接受
的函数wstring
。
然后你需要制作一个wstring
,就像你需要将一个ASCII字符传递给接受一个函数的函数string
一样。 char
。
string
答案 1 :(得分:0)
在内存中数据不存储在Unicode中。 Unicode为计算机上使用的每个(好的,很多)字符提供唯一的编号。
在内存中,字符被编码:将字节值映射到Unicode数字。
您使用的是哪种编码?
win32中的wchar_t是16位,字符应该在 UCS-2 UTF-16中编码。
wchar_t on most * NIXes是32位,字符应该用UTF-32编码。
<强>更新强>
嗯,看起来我已经老了。我的最后一项工作是在VS2005中,并且仍然引用了UCS-2作为内部编码,但我想即使这已经过时了。