ルールを理解できたら(間違っていたら訂正してください):
\ OctalDigit
Examples:
\0, \1, \2, \3, \4, \5, \6, \7
\ OctalDigit OctalDigit
Examples:
\00, \07, \17, \27, \37, \47, \57, \67, \77
\ ZeroToThree OctalDigit OctalDigit
Examples:
\000, \177, \277, \367,\377
\t
、、 OctalEscapeルール\n
に\\
該当しない; それらは別々のエスケープ文字ルールの下にある必要があります。
Decimal255はOctal377と同じです(確認するには、科学モードでWindows Calculatorを使用してください)
したがって、3桁の8進数値は\000
(0)から\377
(255)の範囲になります。
したがって、\4715
は3桁を超えるルールであるため、有効な8進数値ではありません。10進値4715のコードポイント文字にアクセスする場合は、すべてのJavaがUnicode UTF-16であるため、Unicodeエスケープ記号\u
を使用してUTF-16文字(10進形式の4715)を表します。\u126B
char
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Character.htmlから:
charデータ型(したがって、Characterオブジェクトがカプセル化する値)は、文字を固定幅の16ビットエンティティとして定義した元のUnicode仕様に基づいています。その後、Unicode標準が変更され、16ビットを超える表現が必要な文字を使用できるようになりました。有効なコードポイントの範囲は、Unicodeスカラー値として知られるU+0000からU+10FFFFになりました。(Unicode標準のU + n表記の定義を参照してください。)
U+0000からU+FFFFまでの文字のセットは、Basic Multilingual Plane(BMP)と呼ばれることもあります。コードポイントがU+FFFFより大きい文字は、補助文字と呼ばれます。Java 2プラットフォームは、char配列、StringクラスおよびStringBufferクラスでUTF-16表現を使用します。この表現では、補足文字はchar値のペアとして表され、最初は高サロゲート範囲(\ uD800- \ uDBFF)から、2番目は低サロゲート範囲(\ uDC00- \ uDFFF)からです。
編集:
8ビット範囲(1バイトより大きい)の有効な8進値を超えるものはすべて、言語固有です。一部のプログラミング言語は、Unicodeの実装に一致するように継続される場合があります。一部はそうではないかもしれません(1バイトに制限してください)。Javaは、Unicodeをサポートしていても、間違いなくそれを許可していません。
1バイトの8進リテラルに制限するいくつかのプログラミング言語(ベンダー依存):
- Java(すべてのベンダー):-0から始まる8進数の整数定数、または基数8(0377まで)の1桁。\0から\7、\00から\77、\000から\377(8進文字列リテラル形式)
- C / C ++(Microsoft)-0で始まる8進整数定数(0377まで)。8進文字列リテラル形式
\nnn
- Ruby-0で始まる8進整数定数(0377まで)。8進文字列リテラル形式
\nnn
1バイトを超える8進リテラルをサポートするいくつかのプログラミング言語(ベンダー依存):
- Perl-0で始まる8進整数定数。8進文字列リテラル形式http://search.cpan.org/~jesse/perl-5.12.1/pod/perlrebackslash.pod#Octal_escapes
\nnn
を参照してください
いくつかのプログラミング言語は8進リテラルをサポートしていません:
- C#-
Convert.ToInt32(integer, 8)
基数8に使用c#を使用して2進数を8進数に変換するにはどうすればよいですか?