 |
|

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

15.02.2022, 00:15
|
|
Постоянный
Регистрация: 17.06.2015
Сообщений: 578
С нами:
5739536
Репутация:
98
|
|
|
|
|

15.02.2022, 00:18
|
|
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами:
9879517
Репутация:
1
|
|
Теперь научите подключать lua библиотеку к C++ плагину
|
|
|

15.02.2022, 00:40
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от vegas~
Я получаю сообщения из телеграмм чата с ботом, и как бы все хорошо но пока не начну отправлять русские символы ибо они превращаются вот в это "\u041f\u0440\u0438\u0432\u0435\u0442"(Это слово "Привет"). Как мне перевести этот текст как я понял из формата UTF8 в CP1251? Много каких-то функций с разных форумов попробовал но не одна не помогла :P
использовать UTF-8 IO, и будет тебе счастье
|
|
|

22.02.2022, 18:16
|
|
Новичок
Регистрация: 23.07.2020
Сообщений: 11
С нами:
3057545
Репутация:
58
|
|
|
|
|

27.02.2022, 23:16
|
|
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами:
9879517
Репутация:
1
|
|
Сообщение от 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
)
;
|
|
|

27.02.2022, 23:51
|
|
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами:
9879517
Репутация:
1
|
|
Сообщение от NotReal
можешь мне в вк отписать, попробую помочь
Вк дай свой, у тебя в профиле не нашел
|
|
|

05.03.2022, 13:55
|
|
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами:
9879517
Репутация:
1
|
|
up
|
|
|

05.03.2022, 13:59
|
|
Познавший АНТИЧАТ
Регистрация: 29.03.2021
Сообщений: 1,092
С нами:
2698985
Репутация:
88
|
|
Сообщение от 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
никогда не поздно научиться гуглить
|
|
|

05.03.2022, 14:07
|
|
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами:
9879517
Репутация:
1
|
|
Сообщение от 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
]
)
)
;
Ничего не изменилось
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|