web-dev-qa-db-fra.com

\ x Échapper à Java?

Je me demandais s'il y avait un échappement hex (\ x) similaire en Java comme en C++. Par exemple:

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

Il n'y a pas d'échappement hexadécimal (\ x) dans Java par rapport à ce qu'il apparaît jusqu'à présent. Existe-t-il une alternative aussi facile à utiliser sans avoir à concaténer un tas de nombres hexadécimaux ensemble?

43
David

Les chaînes en Java sont toujours encodées en UTF-16, donc il utilise un échappement Unicode: \u0048. Les caractères octaux sont également pris en charge: \110

54
erickson

Notez que les échappements Unicode sont analysés assez tôt. Cela peut surprendre quand

  String s = "text\u000d\u000a";

provoque une erreur de compilation car vous auriez dû utiliser "text\015\012" ou "text\r\n"

7
tschodt