Всем привет! Второй день не могу понять, в чем дело. Вот 2 примера:
==========1==============
string str = "\u0421 \u043f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u043e\u043c \u0432\u0430\u0441,\u00a0*|FNAME|*! \u0421 8 \u043c\u0430\u0440\u0442\u0430!\u00a0\u2728";
Encoding srcEncodingFormat = Encoding.UTF8;
Encoding dstEncodingFormat = Encoding.GetEncoding("UTF-8");//здесь вставляем кодировку
byte [] originalByteString = srcEncodingFormat.GetBytes(str);
byte [] convertedByteString = Encoding.Convert(srcEncodingFormat,
dstEncodingFormat, originalByteString);
string finalString = dstEncodingFormat.GetString(convertedByteString);
return finalString;
==========2==============
string str = project.Variables["tema_pisma"].Value; //в переменной tema_pisma тот же текст, что и в примере выше, точно такой же
Encoding srcEncodingFormat = Encoding.UTF8;
Encoding dstEncodingFormat = Encoding.GetEncoding("UTF-8");//здесь вставляем кодировку
byte [] originalByteString = srcEncodingFormat.GetBytes(str);
byte [] convertedByteString = Encoding.Convert(srcEncodingFormat,
dstEncodingFormat, originalByteString);
string finalString = dstEncodingFormat.GetString(convertedByteString);
return finalString;
Первый код выдает на выходе человечью строку, второй выдает то же, что и на входе. В чем ошибка? Что не так?
==========1==============
string str = "\u0421 \u043f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u043e\u043c \u0432\u0430\u0441,\u00a0*|FNAME|*! \u0421 8 \u043c\u0430\u0440\u0442\u0430!\u00a0\u2728";
Encoding srcEncodingFormat = Encoding.UTF8;
Encoding dstEncodingFormat = Encoding.GetEncoding("UTF-8");//здесь вставляем кодировку
byte [] originalByteString = srcEncodingFormat.GetBytes(str);
byte [] convertedByteString = Encoding.Convert(srcEncodingFormat,
dstEncodingFormat, originalByteString);
string finalString = dstEncodingFormat.GetString(convertedByteString);
return finalString;
==========2==============
string str = project.Variables["tema_pisma"].Value; //в переменной tema_pisma тот же текст, что и в примере выше, точно такой же
Encoding srcEncodingFormat = Encoding.UTF8;
Encoding dstEncodingFormat = Encoding.GetEncoding("UTF-8");//здесь вставляем кодировку
byte [] originalByteString = srcEncodingFormat.GetBytes(str);
byte [] convertedByteString = Encoding.Convert(srcEncodingFormat,
dstEncodingFormat, originalByteString);
string finalString = dstEncodingFormat.GetString(convertedByteString);
return finalString;
Первый код выдает на выходе человечью строку, второй выдает то же, что и на входе. В чем ошибка? Что не так?