\ x在Java中逃脱?

Dav*_*vid 41 java hex escaping

我想知道在Java中是否存在类似的十六进制(\ x)转义,就像在C++中一样.例如:

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

到目前为止,Java中没有十六进制(\ x)转义.有没有一个替代方案,同样容易使用,而不必将一堆十六进制数字连在一起?

eri*_*son 52

Java中的字符串总是以UTF-16编码,因此它使用Unicode转义:\u0048.也支持八进制字符:\110


tsc*_*odt 6

请注意,Unicode转义是在很早之前就进行了解析。当当

  String s = "text\u000d\u000a";
Run Code Online (Sandbox Code Playgroud)

导致编译器错误,因为您应该使用"text\015\012""text\r\n"

  • 因为现在有用 (3认同)
  • -1:字符串文字中允许使用八进制转义符,并且不会像您建议的那样提早解析。上面的代码段按预期方式工作。见3.10.6。http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html中的字符和字符串文字转义序列 (2认同)
  • 为什么不删除答案? (2认同)