webdevqa.jp.net

\ x Javaでエスケープしますか?

C++にあるようなJavaに同様の16進(\ x)エスケープがあるかどうか疑問に思っていました。例えば:

char helloworld[] = "\x48\x45\x4C\x4C\x4F\x20\x57\x47\x52\x4C\x44";
printf("%s", helloworld);

Javaこれまでに表示されていたものからの16進(\ x)エスケープはありません。16進数の束を連結することなく同じように使いやすい代替手段はありますか?

41
David

Javaの文字列は常にUTF-16でエンコードされるため、Unicodeエスケープを使用します:\u0048。 8進文字もサポートされています:\110

52
erickson

Unicodeエスケープはかなり早く解析されることに注意してください。それは驚きとして来ることができます

  String s = "text\u000d\u000a";

"text\015\012"または"text\r\n"を使用する必要があるため、コンパイラエラーが発生します。

6
tschodt