Это, вероятно, безопасно, но только если вы конвертируете между одними и теми же кодировками оба раза.
UTF-8 сам по себе не является набором символов - это способ кодировать Unicode в байты. Он может представлять те же символы, что и UTF-16, кодировка, которую использует современная Windows. Таким образом, реальный вопрос заключается в том, может ли преобразование в Unicode потерять информацию - и AFAIK, ответ «это не должно, но иногда может»:
У Старого Нового есть сноска об этом:
Бонусная болтовня: даже в оба конца от ANSI до Unicode и обратно до ANSI могут быть потери, в зависимости от флагов, которые вы передаете, например, относительно использования предварительно составленных символов.
Unicode , имеет несколько канонических форм - например, может быть сохранен как в качестве единственной (precomposed элемент коды), или в виде обычный ã
+ объединение тильды ( с разложением). Windows предпочитает первое, macOS предпочитает второе.
Я не совсем уверен, считается ли, например, Windows-932 как "ANSI", но я не удивлюсь, если были проблемы (как упомянуто в Википедии) из-за того же удвоения байта, что и для символа a
и для разделителя пути, который обычно обратный слеш ...
Между тем, нет кодировки или кодовой страницы под названием "ANSI". Это название организации по стандартам, которая определила несколько кодировок текста. В Windows термин означает большой набор кодировок «Windows-125x» для различных стран и языков (в некоторой степени соответствующий кодировкам ISO 8859 и предположительно основанный на ранних черновиках, написанных ANSI).
Поэтому вполне возможно, что одна система называет Windows-1251 "ANSI", а другая использует Windows-1257 для одного и того же, и в результате каждая из них может представлять символы, которые другая не может. (На самом деле, последняя версия Windows 10.1809 даже позволяет использовать UTF-8 в качестве кодировки "ANSI".) В случае систем с различной конфигурацией, даже если первоначальное преобразование в Unicode не приводит к потере информации, обратное преобразование в "ANSI" будет.