codecvt

    9熱度

    2回答

    我一直在探索C++ 11的新Unicode功能,雖然other C++11 encoding questions已經非常有幫助,但我對cppreference以下代碼段有疑問。代碼寫入並立即讀取以UTF-8編碼保存的文本文件。 // Write std::ofstream("text.txt") << u8"z\u6c34\U0001d10b"; // Read std::wifstrea

    0熱度

    1回答

    我有C++代碼轉換string包含(ALCHEMICAL SYMBOL FOR AQUA REGIA)至u16string: #include <string> #include <codecvt> #include <locale> using namespace std; int main() { setlocale(LC_ALL, "ru_RU.UTF-8");

    0熱度

    1回答

    我想實現codecvt方面使用ICU從任何字符編碼(ICU支持)轉換爲UTF-8內部。我知道codecvt_byname存在,它可以用來做我想要的一部分,如this example所示。這個例子的問題是它(1)使用寬字符流(我想使用「常規」,面向字節的流)和(2)需要2個流來執行轉換。相反,我要像一個單一的數據流: locale loc(locale(), new icu_codecvt("ISO

    4熱度

    2回答

    以下是使用std::codecvt_utf8<>方面從wchar_t轉換爲UTF-8的代碼片段。使用Visual Studio 2012,我的期望不符合(請參閱代碼末尾的條件)。我的期望錯了嗎?爲什麼?或者這是一個Visual Studio 2012庫問題? #include <locale> #include <codecvt> #include <cstdlib> int main()

    0熱度

    1回答

    是否有標準方法來檢查構建新的std::codecvt_byname是否成功? 我是用下面的程序進行試驗: // cl /nologo /Fetest_codecvt_byname.exe /EHsc test_codecvt_byname.cpp && test_codecvt_byname // g++ -o test_codecvt_byname test_codecvt_byname.cp

    1熱度

    1回答

    鑑於 #include <locale> struct Q; struct R{ void operator()(Q*) { } }; class S : public std::codecvt<char, char, Q*> { } ; int main() { char *p; char *q; const char *r; char *s;

    0熱度

    2回答

    獲取std :: fstream文件的文件大小有很多問題,但它們都以字節爲單位返回文件大小,並且如果文件在另一個流中打開,則容易出錯。 我想知道代碼點的文件大小,而不是字節。 現在std::fstream::seekg(0,std::ios::end)後面跟着std::fstream::tellg()只返回字節長度。這並不能告訴我文件中有多少個UTF-16/32字符。將結果除以sizeof(wch

    1熱度

    1回答

    是否可以使用std :: fstream來使包含UTF-8編碼的std :: string可以傳輸到UTF-16文件? 我嘗試使用UTF8到UTF16面以下,但結果文件仍然是UTF-8: std::fstream utf16_stream("test.txt", std::ios_base::trunc | std::ios_base::out); utf16_stream.imbue(std:

    2熱度

    1回答

    我有一個簡單的代碼,可以很好地處理輸入選項只包含ASCII字符,但會拋出一個錯誤消息爲「error:character conversion failed」 。有解決方案嗎? 背景信息: 1. Compiler and OS: VC++2012 running on Windows 8.1 64 bit 2. "_UNICODE" option is ON It works with

    1熱度

    1回答

    我最近發現<codecvt>標題,所以我想在UTF-8和UTF-16之間轉換。 我使用C++ 11中的wstring_convert和codecvt_utf8_utf16構面。 我遇到的問題是,當我嘗試將UTF-16字符串轉換爲UTF-8時,再次在UTF-16中,字節順序發生了變化。 對於這個代碼: #include <codecvt> #include <string> #include <