Square
Тендеры, ниры, ниокры
Square
Бюрократия уничтожит этот мир
🦥Alex Fails
Да
🦥Alex Fails
Поскорей бы
🦥Alex Fails
Не то количество костылей все растет и растет
Square
У меня есть UTF8 как узнать могу ли я привести её к однобайтовой кодировке? Может кто сниппеты встречал где?
Stanislav
http://en.cppreference.com/w/cpp/locale/codecvt
arisudesu
arisudesu
Очевидный путь
arisudesu
Ютф8 детектится своей структурой
Stanislav
http://stackoverflow.com/a/17688508/1274305 а вот так можно сконвертить в ansi
Square
Эм ... Конвертнуть я могу. Но я должен знать можно ли символы строки представить в local8bit или аналогичной...если там мне придёт китайча то придётся в ushort укладывать:/
Square
мне это нужно в char* передать;(
Square
Бом прикручу если надо...
Square
Вопрос скорости
Square
Сейчас колхоз жуткий :(
Square
Square
Но спасибо, тоже думаю над этим
🦥Alex Fails
Square
Я через фасеты делаю
Square
Мне пришёл буфер который является UTF8 строкой.
Square
Qt его прекрасно переваривает и корректно отображает.
Square
Но там как и us ascii лежать может так и gb2311
Square
Условно говоря
Stanislav
Square
Square
Qt внутри хранит все в utf16...
Square
Блин. Вот если уменя в utf8 ,или 16 лежат разные кириллические символы то их можно привести в локальную восьмибитную. Но грубо говоря что иероглифы некоторые что русские символы занимают 2 байта в утф8 однако русские символы без потерь можно в iso8859 а вот мунспик уже потеряется
Andrei
wchar_t хватит всем
🦥Alex Fails
Square
Ну в каком то смысле так и сделано
Square
Просто реально широких символов не много приходит. А это двукратное увеличение длины
🦥Alex Fails
Ну, тогда храни в утф-8
Square
Ладно, всем спасибо
Square
Тема себя исчерпала
🦥Alex Fails
🦥Alex Fails
Ну юзани win-1251
🦥Alex Fails
Можно такую жуть сделать:
🦥Alex Fails
union {
struct {
char *u8;
wchar_t *u16;
}
}
Square
Ну у меня щя мильон костылей, если конвертнулось без потерь - отдаю чар, если нет - юшорт
Square
🦥Alex Fails
Норм
🦥Alex Fails
Главное - флаг ещё хранить
🦥Alex Fails
Можно юзануть хак выравнивания
🦥Alex Fails
В самом нижнем бите указателя хранить флаг того, что юзается u16
🦥Alex Fails
А структуру выравнивать по слову процессора или по 4 байта
Square
Так, хм
Square
Надо покубатурить
Square
Я просто про выравнивание не думал
🦥Alex Fails
Кстати
🦥Alex Fails
как смоделировать моменты инерции? (ща нарисую анимашку)
🦥Alex Fails
🦥Alex Fails
@AndreiC , ты тут?
Anonymous
Нашёл короч походу рабку
Anonymous
Как джоб оффер пришлют, расскажу
Kirill
Привет
Kirill
Ребят, а кто из работавших с MTPProto сейчас не сильно занят? я пытаюсь в tg-консольный встроить вывод информации о сессиях текущих, но я с универа не писал на C++, есть несколько вопросов :)
🦥Alex Fails
Я не работал, но попробую помочь
Kirill
Я не работал, но попробую помочь
Смотри, я пытаюсь запилить по аналогии с get_self команду для telegram-cli get_sessions.
В TDesktop, который на QT это делается через
(scheme.tl)
account.getAuthorizations#e320c158 = account.Authorizations;
get_self вызывает вот так MTProto:
clear_packet ();
out_int (CODE_users_get_full_user);
assert (tgl_get_peer_type (id) == TGL_PEER_USER);
out_int (CODE_input_user);
out_int (tgl_get_peer_id (id));
out_long (id.access_hash);
tglq_send_query (TLS, TLS->DC_working, packet_ptr - packet_buffer, packet_buffer, &user_info_methods, 0, callback, callback_extra);
соответственно я делаю
out_int (CODE_account_get_authorizations);
теперь вопрос в коллбеке, который выводит данные. Для user_info это
void print_user_info_gw (struct tgl_state *TLSR, void *extra, int success, struct tgl_user *U)
account.getAuthorizations#e320c158 = account.Authorizations;
возвращает вектор account.Authorizations.
Как без особого геммора понять как мне исправить callback ?
Без особого геммора — значит без gdb :) Потому что tg-cli собирается в бинарник и просто выводить данные не получится (или получится?)
🦥Alex Fails
напиши в нем printf("Session: "..., U->???);
🦥Alex Fails
вместо вопросов нужные поля юзера
Kirill
там нет юзера я так понимаю
🦥Alex Fails
а
🦥Alex Fails
напиши фасадик
🦥Alex Fails
UserSessionFacade
🦥Alex Fails
и храни в нем нужное инфо
Kirill
хм
Kirill
это идея, спасибо. Щас посмотрю в какой структуре хранятся в TDesktop векторы эти попробую найти аналог или написать
Kirill
теперь вопрос нубский. Если в .tl файле определяется string, в C++ char* надо ставить как тип?
Andrei
🦥Alex Fails
Da
как мне смоделировать то падение кирпича?
🦥Alex Fails
тупую гравитацию могу сделать
🦥Alex Fails
а вот чтоб предметы еще и крутились, не могу
🦥Alex Fails
🦥Alex Fails
что есть .tl-файл?
🚀 Snyp
Игру пишешь?
🦥Alex Fails
Я? Почти