Jak przekonwertować ciąg UTF-8 na Unicode?
Mam ciąg wyświetlający znaki zakodowane w UTF-8 i chcę przekonwertować go z powrotem na Unicode.
Na razie moja implementacja jest następująca:
public static string DecodeFromUtf8(this string utf8String)
{
// read the string as UTF-8 bytes.
byte[] encodedBytes = Encoding.UTF8.GetBytes(utf8String);
// convert them into unicode bytes.
byte[] unicodeBytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, encodedBytes);
// builds the converted string.
return Encoding.Unicode.GetString(encodedBytes);
}
Bawię się tym słowem"déjà"
. Dzięki temu przekształciłem go w UTF-8narzędzie online, więc zacząłem testować moją metodę za pomocą łańcucha"déjÃ"
.
Niestety, przy tej implementacji łańcuch pozostaje taki sam.
Gdzie się mylę?