Square
Тендеры, ниры, ниокры
Square
Бюрократия уничтожит этот мир
🦥Alex Fails
Да
🦥Alex Fails
Поскорей бы
🦥Alex Fails
Не то количество костылей все растет и растет
Square
У меня есть UTF8 как узнать могу ли я привести её к однобайтовой кодировке? Может кто сниппеты встречал где?
Stanislav
http://en.cppreference.com/w/cpp/locale/codecvt
arisudesu
Очевидный путь
arisudesu
Ютф8 детектится своей структурой
Stanislav
http://stackoverflow.com/a/17688508/1274305 а вот так можно сконвертить в ansi
Square
Эм ... Конвертнуть я могу. Но я должен знать можно ли символы строки представить в local8bit или аналогичной...если там мне придёт китайча то придётся в ushort укладывать:/
Square
мне это нужно в char* передать;(
Square
Бом прикручу если надо...
Square
Вопрос скорости
Square
Сейчас колхоз жуткий :(
Square
Но спасибо, тоже думаю над этим
Square
Я через фасеты делаю
Square
WideCharToMultiByte
Только у меня не широкий символ
Square
Мне пришёл буфер который является UTF8 строкой.
Square
Qt его прекрасно переваривает и корректно отображает.
Square
Но там как и us ascii лежать может так и gb2311
Square
Условно говоря
Square
fromUtf8 ?
И так тоже...
🦥Alex Fails
И так тоже...
А не помог метод этот?
Square
Qt внутри хранит все в utf16...
Square
Блин. Вот если уменя в utf8 ,или 16 лежат разные кириллические символы то их можно привести в локальную восьмибитную. Но грубо говоря что иероглифы некоторые что русские символы занимают 2 байта в утф8 однако русские символы без потерь можно в iso8859 а вот мунспик уже потеряется
Andrei
wchar_t хватит всем
Square
Ну в каком то смысле так и сделано
Square
Просто реально широких символов не много приходит. А это двукратное увеличение длины
🦥Alex Fails
Ну, тогда храни в утф-8
Square
Ну, тогда храни в утф-8
Кириллица тоже в один байт умещается при желании )
Square
Ладно, всем спасибо
Square
Тема себя исчерпала
🦥Alex Fails
Ну юзани win-1251
🦥Alex Fails
Можно такую жуть сделать:
🦥Alex Fails
union { struct { char *u8; wchar_t *u16; } }
Square
Ну у меня щя мильон костылей, если конвертнулось без потерь - отдаю чар, если нет - юшорт
Square
union { struct { char *u8; wchar_t *u16; } }
Лол, почти так и сделано )))
🦥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* надо ставить как тип?
🦥Alex Fails
Da
как мне смоделировать то падение кирпича?
🦥Alex Fails
тупую гравитацию могу сделать
🦥Alex Fails
а вот чтоб предметы еще и крутились, не могу
🦥Alex Fails
что есть .tl-файл?
🚀 Snyp
Игру пишешь?
🦥Alex Fails
Я? Почти