Я читаю this question, и мне было интересно, есть ли способ рассмотреть весь диапазон символов? Например, «á», «é», «ö», «ñ», а не считать «» ([Пространство])? (Например, моя строка - «Hello World», а стандартный результат - «Khoor # Zruog», я хочу удалить это «#», поэтому результатом будет «KhoorZruog»)Caesar Cipher в Java (испанские символы)
Я уверен, что мой ответ есть в этом фрагменте кода:
if (c >= 32 && c <= 127)
{
// Change base to make life easier, and use an
// int explicitly to avoid worrying... cast later
int x = c - 32;
x = (x + shift) % 96;
chars[i] = (char) (x + 32);
}
Но я пробовал некоторые вещи, и это не сработало.
Определить "целый ряд". Я бы не стал рассматривать 'ö', но будет включать' ř' - очевидно, определение диапазона зависит от вас. – Piskvor
Кроме того, ни «á», «é», «ö», ни «ñ» не находятся где-либо * рядом * с ASCII 32-127; в зависимости от набора символов они могут быть где угодно. Как только вы оставите 26 основных латинских букв, набор символов не будет образовывать смежный диапазон в выбранной кодировке. – Piskvor