Nie mogę zmienic unicode do UTF8

Nie mogę zmienic unicode do UTF8

Wątek przeniesiony 2016-01-28 17:38 z C/C++ przez Shalom.

RE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

Witam.
Mam problem z kodowaniem/dekodowaniem, a dokładniej z polskimi znakami...
Napisałem czat, ale jak piszę to ciągle zwraca "\u0142" kod kodowania/dekodownia:

Kopiuj
public byte[] EncryptMessage(string text)
    {
        RijndaelManaged aes = new RijndaelManaged();
        aes.KeySize = 256;
        aes.BlockSize = 256;
        aes.Padding = PaddingMode.Zeros;
        aes.Mode = CipherMode.CBC;

        aes.Key = Encoding.UTF8.GetBytes(key);
        aes.IV = Encoding.UTF8.GetBytes(iv);

        ICryptoTransform AESEncrypt = aes.CreateEncryptor(aes.Key, aes.IV);
        byte[] buffer = Encoding.UTF8.GetBytes(text);

        return AESEncrypt.TransformFinalBlock(buffer, 0, buffer.Length);
    }

    public string DecryptMessage(byte[] text)
    {
        RijndaelManaged aes = new RijndaelManaged();
        aes.KeySize = 256;
        aes.BlockSize = 256;
        aes.Padding = PaddingMode.Zeros;
        aes.Mode = CipherMode.CBC;

        aes.Key = Encoding.UTF8.GetBytes(key);
        aes.IV = Encoding.UTF8.GetBytes(iv);

        ICryptoTransform AESDecrypt = aes.CreateDecryptor(aes.Key, aes.IV);
        byte[] buffer = text;

        return Encoding.UTF8.GetString(AESDecrypt.TransformFinalBlock(buffer, 0, buffer.Length));
    }

Czy jest jakiś sposób na zmianę tego ?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Czym jest key i iv?
Gdzie to piszesz że dostajesz "\u0142"?

Podaj przykład wywołania tego kodu.

RE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

Napisałem: "Napisałem czat, ale jak piszę na nim to ciągle zwraca "\u0142""
Dodam że klient jest w C#, a server w PHP (WebSocket)
Co tutaj jest niezrozumiałego ?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Przypuszam ze na koniec po dekodowaniu musisz sobie przywrócic swoje kodowanie pierwotne bo nie bylo to utf-8.

RE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

Ale jak to wykonać ?
Mam w DecryptMessage:
return Encoding.UTF8.GetString...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.