Действительно, о проблеме лучше подумать, если учесть, что вы не конвертируете binary data
в CP1252
, но в C#
вы конвертируете binary data
как CP1252
в UTF-16
, поэтому вопрос CP1252
-> UTF-16
-> CP1252
гарантирует отсутствие полиморфных мутаций.
Текстовый кодировщик .net наилучшим образом подходит для UTF-16
-> CP1252
, что в лучшем случае звучит ненадежно, хотя может и хорошо, но не так уж много сценариев, в которых вы могли бы сделать что-нибудь с этим UTF-16
строка в середине, которая все еще гарантирует отсутствие потери данных, и она намного менее эффективна, чем байтовый массив.