Что ж, если у вас есть поток байтов, которые представляют собой текст в кодировке UTF-8, и вы интерпретируете их как строку, закодированную во что-то еще, а затем перекодируете ее как UTF-8, тогда у вас есть проблема.*
Если вы снова прочитаете его как UTF-8 (поскольку вы, конечно, не можете обрабатывать байты как текст без кодировки), то у вас будет Unicode, который при повторном написании как UTF-8 будет выглядеть так же, как и раньше.
Только будьте осторожны, чтобы не слишком возиться с кодировками.Распространенной ошибкой является интерпретация текста в кодировке UTF-8 как латинского 1, что превращает Fööbär
в Fööbär
, что, конечно, больше не изменится.
Обратите внимание на разницу между text (собственно, что вас волнует) и кодированный текст , который представляет собой просто набор байтов и знание того, как снова превратить их в текст.Если вы относитесь ко второму как к первому, возникают проблемы.Если вы правильно конвертируете из одного представления в другое, это нормально.