問題タブ [char32-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.

0 投票する
1 に答える
5780 参照

c++ - C++0x の新しい Unicode 文字

utf8、utf16、utf32、wchar_t (OS によっては utf32 または utf16) など、さまざまなエンコーディングで文字列を取得できる API を構築しています。

  1. 新しい C++ 標準では新しい型が導入されてchar16_tおりchar32_t、この sizeof あいまいさがなく、将来使用する必要があるため、それらもサポートしたいと思いますが、問題は、オーバーロードを許可しない通常の, ,型と干渉するかどうかです。同じタイプを参照できますか?uint16_tuint32_twchar_t

    だから私はただ書くことができます:

    /li>
  2. 今日の typedef とは何ですかstd::basic_string<char16_t>:std::basic_string<char32_t>

    参照が見つかりません。

    編集: gcc-4.4 のヘッダーによると、これらの新しいタイプが導入されました:

    これが実際の標準要件であり、gcc-ism ではないことを確認したいだけです。

0 投票する
3 に答える
2226 参照

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ビットのアーキテクチャでも)?

0 投票する
1 に答える
9558 参照

c++ - I/O での char16_t と char32_t の使用

C++11 ではchar16_tchar32_tUTF-16 および UTF-32 でエンコードされたテキスト文字列の操作が容易になります。ただし、ライブラリはマルチバイト I/O 用<iostream>に定義された実装のみをサポートしています。wchar_t

サポートを補完するためにライブラリにサポートが追加されていないchar16_tのはなぜですか?char32_t<iostream>wchar_t

0 投票する
1 に答える
1927 参照

c++ - 裸の char32_t は署名されていますか、それとも署名されていませんか?

同様に、ネイキッドchar16_tは署名付きですか、署名なしですか? 実装定義ですか?

0 投票する
0 に答える
849 参照

compiler-errors - Xcode 6 beta 5: デプロイメント ターゲットを 7.0 に変更すると、「宣言されていない識別子 'char32_t' の使用」のコンパイル エラーが発生する

現在のプロジェクトでは OC と Swift の両方を使用しました。混合コードは、Xcode 6 ベータ版で正常に動作します。現在、Xcode 6 ベータ版をベータ 5 に更新すると、主に Swift 言語自体の新機能が原因である多くのコンパイル エラーに遭遇しました。構文関連のバグをすべて修正し、残りの 1 つのコンパイル エラーは次のとおりです。

「Swift は 7.0 より前の iOS では使用できません。IPHONEOS_DEPLOYMENT_TARGET を 7.0 以降に設定してください (現在は「4.3」です)」

配置ターゲットを 7.0 に変更してプロジェクトをコンパイルすると、新しいコンパイル エラーが発生しました。

「宣言されていない識別子 'char32_t' の使用」

このコンパイル エラーは、ファイル /Applications/Xcode6-Beta5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 に表示されます。

0 投票する
2 に答える
2202 参照

c++11 - std::string を std::u32string に変換するには?

std::string を std::u32string に、つまり char の basic_string を char32_t に変換する簡単な STL の方法はありますか?

これは Unicode に関する質問ではありません。

0 投票する
2 に答える
126 参照

c - ANSI c でサイズ 32 の char を作成する方法はありますか?

C++11 には 4 バイトの char32_t 型があることを知っています。C で同様のものを実装できるかどうか疑問に思っています。私が書いているプログラムでは、すべての char 配列を 4 バイトの倍数にする必要があります。

0 投票する
3 に答える
1689 参照

c - char16_t および char32_t エンディアン

C11 では、ポータブルなワイド char 型のサポートがUTF-16 と UTF-32 にそれぞれchar16_t追加char32_tれました。

ただし、テクニカル レポートでは、これら 2 つのタイプのエンディアンについては言及されていません。

たとえばgcc-4.8.4、x86_64 コンピューターで次のスニペットをコンパイルすると、次のようになり-std=c11ます。

生産します

つまり、リトルエンディアンです。

しかし、この動作はプラットフォーム/実装に依存していますか?それは常にプラットフォームのエンディアンに準拠してchar16_tchar32_tます?

0 投票する
4 に答える
10482 参照

c++ - Visual Studio C++ 2015 std::codecvt と char16_t または char32_t

このコードは、VS2013 で正常にコンパイルされました。

今VS2015で私は得る: