1. C# / Говнокод #2005

    +130.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    //private byte[] dB; - строка, символ=1байт. Выше 128 - русские буквы.
    
                StringBuilder sb = new StringBuilder(len);
                for (int k = 0; k < len; k++)
                    if (dB[k] < 127)
                        sb.Append((char)dB[k]);
                    else
                    {
                        if (dB[k] != 185)
                            sb.Append((char)(dB[k] + 848)); // Преобразование в нужную кодировку.
                        else
                            sb.Append((char)8470);      // Отдельное преобразование символа №
                    }

    Преобразование строки (скорее всего в кодировке CP-1251) в юникод.
    Не знаю как сделать по-человечески. Может кто подскажет?

    Запостил: greeny, 20 Октября 2009

    Комментарии (3) RSS

    • юзай класс Encoding, там статический метод GetEncoding
      Ответить
      • Да, точно, заработало!
        Всю эту байду можно заменить на:
        string s = Encoding.GetEncoding(1251).GetString(dB) ;
        Или на:
        string s = Encoding.Default.GetString(dB);

        greeny
        Ответить
    • золото, а не программист !!!
      Ответить

    Добавить комментарий