Нет необходимости ни в Java, ни в C# использовать такой сложный код. На обоих языках вы можете представить escape-символ с помощью escape-кода Unicode \u001B
, а в Java вы также можете использовать восьмеричный escape \033
.
Так что и в C#, и в Java вы можно использовать:
String f1Key = "\u001B[11~"
И в качестве альтернативы в Java вы можете сделать:
String f1Key = "\033[11~"
Но если вы хотите получить прямой эквивалент вашего C# кода в Java, это будет:
String escKey = new String(new byte[] { 27 }, StandardCharsets.US_ASCII);
String f1Key = escKey + "[11~";