Заказ Помощь (заплачу) с кириллицей C++(asi)

yorenov

Участник
Автор темы
39
25
hi, заплачу от 500₽ за помощь человеку.
Проект радмир
Вообщем, хукаю пакет 215 кастомный ракхуком от имринга. В этом пакетике есть строчка, в строчке англ + русские буквы. Есть консоль, она выводит utf8, так же буфер обмена. Я либо вывожу строчку printf, либо в буфер. В обоих случаях у меня пакет (точнее строчка) пишется криво (русские символы не выводит). С английскими все ок, а с кириллицей проблемы.
Если пакет записать полностью в бинарник, открыть через хекс, то со строчками все норм (кодировку показывает ancii). Прикрепил два фото. Первое фото - это то что копируется в буфер обмена, второе фото - то что выводит в консоль. Как то давно нашел функцию смены кодировки кириллицы, примерно месяца 3 назад, но
сурсы просраны, поэтому помогайте. Там было 2 функции, первую не помню, а вторая с CP1251 в u8. Мне не интересно менять кодировку самого файлика .cpp, учтите.

Мой тг или vk: @yorenov
Оплата куда угодно по России первому кто поможет.
 

Вложения

  • IMG_1865.jpeg
    IMG_1865.jpeg
    58.7 KB · Просмотры: 91
  • IMG_1866.jpeg
    IMG_1866.jpeg
    66.8 KB · Просмотры: 93

sazzas1978

Известный
124
121
setlocale(LC_ALL,".1251"); не поможет? Ascii == 1251

C++:
#include <iostream>
#include <locale>
#include <codecvt>
#include <string>

int main() {
    std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> converter;

    std::u32string utf32_text = U"Your UTF-8 text here";
    std::string ascii_text = converter.to_bytes(utf32_text);

    std::cout << "Converted to ASCII: " << ascii_text << std::endl;

    return 0;
}
 

Apsapeh

Участник
63
13
Я как-то решал вывод руссиянского текста на шинде использованием широких строк: L"", wstring, wcout.
 

yorenov

Участник
Автор темы
39
25
Я как-то решал вывод руссиянского текста на шинде использованием широких строк: L"", wstring, wcout.
Интересно printf в консоль utf8



setlocale(LC_ALL,".1251"); не поможет? Ascii == 1251

C++:
#include <iostream>
#include <locale>
#include <codecvt>
#include <string>

int main() {
    std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> converter;

    std::u32string utf32_text = U"Your UTF-8 text here";
    std::string ascii_text = converter.to_bytes(utf32_text);

    std::cout << "Converted to ASCII: " << ascii_text << std::endl;

    return 0;
}
Может я что то не то сделал, но в
Я передаю как mystring.begin(), mystring.end()
Выводится только первый символ пакета и крашится игра. Не дебажил так как самой игры на пк нет, давал тестить другим людям
 

F0RQU1N and

Известный
1,312
499
Может я что то не то сделал, но в
Я передаю как mystring.begin(), mystring.end()
Выводится только первый символ пакета и крашится игра. Не дебажил так как самой игры на пк нет, давал тестить другим людям
ясен хуй что крашнет ты же говоришь текст в utf8 а char32_t это UTF-32LE
 

yorenov

Участник
Автор темы
39
25
ясен хуй что крашнет ты же говоришь текст в utf8 а char32_t это UTF-32LE
по сути изначальный текст должен идти ASCII, ибо записывая пакет в бинарник - кодировка ASCII. Есть варианты как выводить в консоль нормально?