Я не вижу проблемы с UTF-8.Фактически, большинство функций ASCII безопасны в UTF-8, потому что они совместимы с ASCII.(Вам нужно беспокоиться только о длине и вставке и удалении средней строки.)
UTF-16 и -32, однако, являются проблемой, поскольку они могут использовать символы со значениями ASCII (<0x80) для представления более высокогокодовые точки, которые могут быть неверно истолкованы как косые черты или кавычки ASCII. </p>
Пример: "⁜!"
(U + 205C U + 21) в UTF-16BE равно 20 5c 00 21, что может интерпретироваться как " \0!"
(где0 - это байт NUL), а затем удаляется второй символ, что приводит к повреждению строки.