crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Расширенные символы
kin63camapa
  опции профиля:
сообщение 23.8.2010, 18:02
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 32
Регистрация: 21.8.2010
Пользователь №: 1976

Спасибо сказали: 0 раз(а)




Репутация:   1  


Пососветуйте способ преобразования в программе \320\237\321\200\320\270\320\274\320\265\321\200 \321\202\320\265\320\272\321\201\321\202\320\260 в нормальный текст и обратно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 24.8.2010, 7:47
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


DEADHUNT, только бэкслеш не двойной, а одинарный, этож esc )

текст получится так
//будет текст (с некоторой долей вероятности - возможно, надо w_char, или что там)
const char* p="\320\237\321\200\320\270\320\274\320\265\321\200 \321\202\320\265\320\272\321\201\321\202\320\260";


цифры можно так получить
struct s_one_symb
{
   const char slash;
   char c0;
   char c1;
   char c2;
   const char zero;

   s_one_symb():slash('\\'),c0(0),c1(0),c2(0),zero(0)
   {
   }

   const char* SetChar(const char c)
   {
      c0='0'+((c>>0)&7);
      c1='0'+((c>>3)&7);
      c2='0'+((c>>6)&7);
      return (const char*)this;
   }
};

//как пользоваться:
s_one_symb symb;
QString s;

s+=symb.SetChar('П');
s+=symb.SetChar('р');
s+=symb.SetChar('и');
s+=symb.SetChar('в');
s+=symb.SetChar('е');
s+=symb.SetChar('т');


-не тестировано и требует оптимизации, однако )

Сообщение отредактировал Алексей1153 - 24.8.2010, 7:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 6:04