Если вы хотите перевернуть строку посимвольно в обратном порядке с использованием цикла `while`, вам нужно сначала определить длину строки, а затем в цикле отталкиваться от конца к началу. Вот пример кода на Python:
```python
word = "Привет"
reversed_word = ""
index = len(word) - 1
while index >= 0:
reversed_word += word[index]
index -= 1
print(reversed_word) # выводит 'тевирП'
```
Для второго вопроса, если вы хотите перевернуть строку, оставив последние две буквы без изменений, вам следует изменить код следующим образом:
```python
word = "Привет"
reversed_word = ""
index = len(word) - 3 # Сохраняем последние две буквы
while index >= 0:
reversed_word += word[index]
index -= 1
# Добавляем неизменённые последние две буквы.
reversed_word += word[-2:] # Срезы работают даже для строк с много байтовыми символами.
print(reversed_word) # выводит 'тевирет'
```
Обратите внимание, что срезы (`slicing`) в Python корректно работают с многобайтовыми символами, так что использование `word[-2:]` безопасно при условии, что строка представляет собой последовательность символов в кодировке UTF-8 или другой Unicode-совместимой кодировке.