ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Перевести текст из UTF8 в CP1251 (https://forum.antichat.xyz/showthread.php?t=1422341)

Vegas 15.02.2022 00:07

Я получаю сообщения из телеграмм чата с ботом, и как бы все хорошо но пока не начну отправлять русские символы ибо они превращаются вот в это "\u041f\u0440\u0438\u0432\u0435\u0442"(Это слово "Привет"). Как мне перевести этот текст как я понял из формата UTF8 в CP1251? Много каких-то функций с разных форумов попробовал но не одна не помогла :P

#kweeZ 15.02.2022 00:15

encoding юзай, примеров полно, можешь тут глянуть https://www.blast.hk/threads/121580/

Vegas 15.02.2022 00:18

Цитата:

Сообщение от #kweeZ

encoding юзай, примеров полно, можешь тут глянуть https://www.blast.hk/threads/121580/

Теперь научите подключать lua библиотеку к C++ плагину

kin4stat 15.02.2022 00:40

Цитата:

Сообщение от vegas~

Я получаю сообщения из телеграмм чата с ботом, и как бы все хорошо но пока не начну отправлять русские символы ибо они превращаются вот в это "\u041f\u0440\u0438\u0432\u0435\u0442"(Это слово "Привет"). Как мне перевести этот текст как я понял из формата UTF8 в CP1251? Много каких-то функций с разных форумов попробовал но не одна не помогла :P

использовать UTF-8 IO, и будет тебе счастье

3lcode 22.02.2022 18:16

Цитата:

Сообщение от vegas~

Как мне перевести этот текст как я понял из формата UTF8 в CP1251?

Техническое Объявление

Vegas 27.02.2022 23:16

Цитата:

Сообщение от kin4stat

использовать UTF-8 IO, и будет тебе счастье

Может кто нибудь объяснить что здесь происходит

C++:





Код:

regex_search
(
response
.
c_str
(
)
,
res
,
regex
(
"\"text\":\"(.+)\""
)
)
;
string message
=
res
[
1
]
;
SF
->
Log
(
"\u041a\u0447\u0430\u0443"
)
;
SF
->
Log
(
message
)
;


Vegas 27.02.2022 23:51

Цитата:

Сообщение от NotReal

можешь мне в вк отписать, попробую помочь

Вк дай свой, у тебя в профиле не нашел

Vegas 05.03.2022 13:55

up

zTechnology 05.03.2022 13:59

Цитата:

Сообщение от vegas~

Я получаю сообщения из телеграмм чата с ботом, и как бы все хорошо но пока не начну отправлять русские символы ибо они превращаются вот в это "\u041f\u0440\u0438\u0432\u0435\u0442"(Это слово "Привет"). Как мне перевести этот текст как я понял из формата UTF8 в CP1251? Много каких-то функций с разных форумов попробовал но не одна не помогла :P

C++:





Код:

std
::
string
UTF8_to_CP1251
(
std
::
string
const
&
utf8
)
{
if
(
!
utf8
.
empty
(
)
)
{
int
wchlen
=
MultiByteToWideChar
(
CP_UTF8
,
0
,
utf8
.
c_str
(
)
,
utf8
.
size
(
)
,
NULL
,
0
)
;
if
(
wchlen
>
0
&&
wchlen
!=
0xFFFD
)
{
std
::
vector

wbuf
(
wchlen
)
;
MultiByteToWideChar
(
CP_UTF8
,
0
,
utf8
.
c_str
(
)
,
utf8
.
size
(
)
,
&
wbuf
[
0
]
,
wchlen
)
;
std
::
vector

buf
(
wchlen
)
;
WideCharToMultiByte
(
1251
,
0
,
&
wbuf
[
0
]
,
wchlen
,
&
buf
[
0
]
,
wchlen
,
0
,
0
)
;
return
std
::
string
(
&
buf
[
0
]
,
wchlen
)
;
}
}
return
std
::
string
(
)
;
}



credits: https://www.cyberforum.ru/cpp-beginners/thread1249547.html

никогда не поздно научиться гуглить

Vegas 05.03.2022 14:07

Цитата:

Сообщение от zTechnology

C++:





Код:

std
::
string
UTF8_to_CP1251
(
std
::
string
const
&
utf8
)
{
if
(
!
utf8
.
empty
(
)
)
{
int
wchlen
=
MultiByteToWideChar
(
CP_UTF8
,
0
,
utf8
.
c_str
(
)
,
utf8
.
size
(
)
,
NULL
,
0
)
;
if
(
wchlen
>
0
&&
wchlen
!=
0xFFFD
)
{
std
::
vector

wbuf
(
wchlen
)
;
MultiByteToWideChar
(
CP_UTF8
,
0
,
utf8
.
c_str
(
)
,
utf8
.
size
(
)
,
&
wbuf
[
0
]
,
wchlen
)
;
std
::
vector

buf
(
wchlen
)
;
WideCharToMultiByte
(
1251
,
0
,
&
wbuf
[
0
]
,
wchlen
,
&
buf
[
0
]
,
wchlen
,
0
,
0
)
;
return
std
::
string
(
&
buf
[
0
]
,
wchlen
)
;
}
}
return
std
::
string
(
)
;
}



credits: https://www.cyberforum.ru/cpp-beginners/thread1249547.html
никогда не поздно научиться гуглить

C++:





Код:

regex_search
(
response
.
c_str
(
)
,
res
,
regex
(
"\"text\":\"(.+)\""
)
)
;
string message
=
res
[
1
]
;
SF
->
Log
(
"\u041f\u0440\u0438\u0432\u0435\u0442"
)
;
SF
->
Log
(
res
[
1
]
)
;
SF
->
Log
(
UTF8_to_CP1251
(
res
[
1
]
)
)
;



https://forum.antichat.xyz/attachments/27990541/

Ничего не изменилось


Время: 11:33