Си диез / Говнокод #2005 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 greeny, (Updated )

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

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

      greeny
      Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8