簡體   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