簡體   English   中英

ustring - std :: string / std :: wstring的原位替換?

[英]ustring - an inplace replacement of std::string/std::wstring?

C ++和UTF8的延續- 為什么不直接替換ASCII?

為什么沒有std::ustring可以替換新應用程序中的std::stringstd::wstring

當然還有標准庫中的相應支持。 類似於boost::filesystem3::path不關心字符串表示,並且與std::stringstd::wstring

你為什么要更換任何東西?

stringwstring是對應於charwchar_t的字符串類,它們在與環境接口的上下文中分別用於攜帶“系統的窄多字節表示”和“系統編碼”中的固定寬度編碼的數據。

另一方面, u8 / u / U以及char16_tchar32_t以及相應的字符串類用於存儲以UTF-8/16/32編碼的Unicode代碼點序列。

后者是前者的獨立問題領域。 該標准不包含橋接兩個域的機制(並且通常需要諸如iconv()類的庫來使該橋可移植,例如通過代碼轉換WCHAR_T / UTF-32)。

這是我的標准相關問題列表: #1#2#3

std::u16stringstd::u32string 您可能希望使用這些標准庫,例如命名要使用fstream打開的文件,不會更改為使用這些,因為它們實際上不能。 例如,某些平台采用幾乎任意的字節字符串來命名要打開的文件,沒有指定的編碼。 必須通過具有特定編碼的字符串運行它會破壞事物並且不兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM