問題タブ [char16-t]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++0x の新しい Unicode 文字
utf8、utf16、utf32、wchar_t (OS によっては utf32 または utf16) など、さまざまなエンコーディングで文字列を取得できる API を構築しています。
新しい C++ 標準では新しい型が導入されて
char16_t
おりchar32_t
、この sizeof あいまいさがなく、将来使用する必要があるため、それらもサポートしたいと思いますが、問題は、オーバーロードを許可しない通常の, ,型と干渉するかどうかです。同じタイプを参照できますか?uint16_t
uint32_t
wchar_t
だから私はただ書くことができます:
/li>今日の typedef とは何ですか
std::basic_string<char16_t>
:std::basic_string<char32_t>
参照が見つかりません。
編集: gcc-4.4 のヘッダーによると、これらの新しいタイプが導入されました:
これが実際の標準要件であり、gcc-ism ではないことを確認したいだけです。
printing - char16_t 印刷
最近、Windows アプリケーションを Linux に移植する際に問題が発生しました。これは、wchar_t
これらのプラットフォーム間のサイズの違いが原因です。コンパイラ スイッチを使用しようとしましたが、これらの文字の出力に問題がありました (GCCwcout
はすべてwchar_t
32 ビットであると考えていると思います)。
だから、私の質問:良い方法はあり(w)cout
char16_t
ますか? うまくいかないので、次のようにキャストする必要がありwchar_t
ます。
大した問題ではないようですが、気になります。
c++11 - C ++ 11char16_tstrlenと同等の関数
簡単な質問があります。ゼロで終了する配列strlen()
内の文字のようなカウントを行う方法はありますか?char16_t
c++11 - char16_t配列で上へ
綺麗にする方法はありますか?Boost の を使おうとするto_upper()
と が得られるstd::bad_cast
ので、次のようにして終了しました。
が元の文字と同じサイズto_upper
であることが保証されているかどうかがわからないため、これが正しいかどうかさえわかりません。char16_t
そして、それが次の文字の上書きを引き起こすのか、最後の文字の後半を読み直すのかはわかりません。ばかげた質問で申し訳ありませんが、ランダム アクセスと可変長エンコーディングを持つ char 型に関しては問題があります。
c++ - C ++ char16_tのサイズは何に依存しますか?
これは、およびに関連しchar32_t
ていますintXX_t
。仕様は次のことを指摘しています。
2.14.3.2
:
単一のc-charを含むchar16_tリテラルの値は、コードポイントが単一の16ビットコードユニットで表現可能である場合、そのISO10646コードポイント値と等しくなります。
5.3.3.1
:
[..]特に[..]sizeof(char16_t)、sizeof(char32_t)、およびsizeof(wchar_t)は実装定義です
intXX_t
「オプション」()というコメントを除けば、タイプについては何もわかりません18.4.1
。
achar16_t
が2バイトであることが保証されていない場合、16ビットであることが保証されていますか(1バイト!= 8ビットのアーキテクチャでも)?
c++ - I/O での char16_t と char32_t の使用
C++11 ではchar16_t
、char32_t
UTF-16 および UTF-32 でエンコードされたテキスト文字列の操作が容易になります。ただし、ライブラリはマルチバイト I/O 用<iostream>
に定義された実装のみをサポートしています。wchar_t
サポートを補完するためにライブラリにサポートが追加されていないchar16_t
のはなぜですか?char32_t
<iostream>
wchar_t
c++ - Clangエラー、実行可能な変換なし
clang3.1で問題が発生しています。この特定の問題は、GCC4.2では発生しません。発生するエラーの例を次に示します。
エラーメッセージには次のように記載されています。
コードはコンパイラフラグ-fshort-wcharを使用してコンパイルされます。これは、wchar_tを16ビットのunsignedshortに変換することになっています。XCodev4.3.2でコードをコンパイルしています。
boost - ブーストスピリットとchar16_t/UTF-16対応?
現在または近い将来、ブースト スピリットの char16_t / UTF-16 のサポートはありますか?
char16_t を使用してワード カウント レクサーの例を試してみましたが、あらゆる種類のコンパイル エラーが発生しました。
ありがとう、
ヘンリー・ローランド
c++ - C++11 char16_t strstr および sprintf と同等
char16_t 型の strstr と sprintf に相当する関数はありますか?
また、char16_t の残りの関数はどこにありますか?