3

プラットフォームに関係なく、値は常に char ch = 'A'65 になりますか? バイトの取得はプラットフォームに依存することは知っていますがString、どのエンコーディングを使用するか (またはエンコーディングがまったく使用されている場合)、Java が文字リテラルを数値に変換する方法についてはわかりません。

4

3 に答える 3

6

はい: charJava の型は UTF-16 エンコーディング ( JLS 3.2を参照) を使用し、'A' は数値 (10 進数) コード 65 を持ちます。

于 2013-08-12T19:20:19.270 に答える
3

はい。Java はUnicode を使用するように指定されているため、「A」はU+0041で、値は 65 です。

文字または文字列 (16 ビット コード ポイントのシーケンス) をバイト シーケンスに変換しようとすると、エンコードが有効になります。これは、さまざまな方法で行うことができます。それらの多くは 'A' を値 65 の 1 バイトとして表しますが、多くはそうではありません。

于 2013-08-12T19:21:52.560 に答える