HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 05.03.2022, 21:36
Vegas
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами: 9879517

Репутация: 1
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Куда куда. В инпат.
по конкретнее можно, ибо я не понимаю о чем речь
 
Ответить с цитированием

  #22  
Старый 05.03.2022, 22:30
zTechnology
Познавший АНТИЧАТ
Регистрация: 29.03.2021
Сообщений: 1,092
С нами: 2698985

Репутация: 88


По умолчанию

Цитата:
Сообщение от Dark_Knight  

Куда куда. В инпат. В Wndproc imgui на WM_CHAR у тебя как стоит? Вот тут уже с костылем, но полностью рабочим.
Цитата:
Сообщение от Спойлер  


эм... а это тут причём?
 
Ответить с цитированием

  #23  
Старый 05.03.2022, 22:49
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от zTechnology  

эм... а это тут причём?
У меня в сборке на многобайтовой кодировке работает так. По факту, вообще надо посмотреть откуда он инфу берёт, а то вообще может быть проблема не в этом.
 
Ответить с цитированием

  #24  
Старый 05.03.2022, 23:24
zTechnology
Познавший АНТИЧАТ
Регистрация: 29.03.2021
Сообщений: 1,092
С нами: 2698985

Репутация: 88


По умолчанию

Цитата:
Сообщение от Dark_Knight  

У меня в сборке на многобайтовой кодировке работает так. По факту, вообще надо посмотреть откуда он инфу берёт, а то вообще может быть проблема не в этом.
Эм.... Ну так причём тут WindProc к получению кодировки с телеги, когда телега русский текст через апи выводит так:



Либо ты не понял суть вопроса, в котором нуждался автор темы, либо я тебя сейчас не понимаю
 
Ответить с цитированием

  #25  
Старый 06.03.2022, 00:26
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от zTechnology  

Эм.... Ну так причём тут WindProc к получению кодировки с телеги, когда телега русский текст через апи выводит так:

Либо ты не понял суть вопроса, в котором нуждался автор темы, либо я тебя сейчас не понимаю
У меня уже имгуи головного мозга 🤣🤣
 
Ответить с цитированием

  #26  
Старый 06.03.2022, 01:31
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от zTechnology  

*** Скрытый текст не может быть процитирован. ***
Ну ты и насрал конечно говна что пиздец

Ради простейшей задачи которая решается двумя функциями спасченных с интернета, подключать хост. Еще и на хосте ***ни наделал. А если мне смайлик отправят в телеге? Или украинскую i?

Еще и под хайд убрал

C++:





Код:
#include 
#include 
std
::
vector

split
(
const
std
::
string
&
str
,
const
std
::
string
&
delim
)
{
std
::
vector

strings
;
size_t start
;
size_t end
=
0
;
while
(
(
start
=
str
.
find_first_not_of
(
delim
,
end
)
)
!=
std
::
string
::
npos
)
{
end
=
str
.
find
(
delim
,
start
)
;
strings
.
push_back
(
str
.
substr
(
start
,
end
-
start
)
)
;
}
return
strings
;
}
std
::
uint32_t
utf8_encode
(
char
*
out
,
uint32_t
utf
)
{
if
(
utf
>
6
)
&
0x1F
)
|
0xC0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
0
;
return
2
;
}
else
if
(
utf
>
12
)
&
0x0F
)
|
0xE0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
6
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
3
]
=
0
;
return
3
;
}
else
if
(
utf
>
18
)
&
0x07
)
|
0xF0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
12
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
(
char
)
(
(
(
utf
>>
6
)
&
0x3F
)
|
0x80
)
;
out
[
3
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
4
]
=
0
;
return
4
;
}
else
{
// error - use replacement character
out
[
0
]
=
(
char
)
0xEF
;
out
[
1
]
=
(
char
)
0xBF
;
out
[
2
]
=
(
char
)
0xBD
;
out
[
3
]
=
0
;
return
0
;
}
}
std
::
string
cp_to_utf8
(
const
std
::
string
&
input
)
{
std
::
string out
;
auto
points
=
split
(
input
,
R"(\u)"
)
;
for
(
auto
&
p
:
points
)
{
char
buf
[
8
]
;
auto
len
=
utf8_encode
(
buf
,
std
::
stoi
(
p
,
nullptr
,
16
)
)
;
out
.
append
(
std
::
string
{
buf
,
len
}
)
;
}
return
out
;
}


usage:

C++:





[CODE]
int
main
(
)
{
setlocale
(
LC_ALL
,
"en_US.utf8"
)
;
std
::
string input
=
R"(\u041f\u0440\u0438\u0432\u0435\u0442)"
;
std
::
cout

 
Ответить с цитированием

  #27  
Старый 06.03.2022, 01:59
x0r1x
Участник форума
Регистрация: 12.02.2022
Сообщений: 112
С нами: 2238751

Репутация: 48
По умолчанию

[QUOTE="kin4stat"]

Ну ты и насрал конечно говна что пиздец

Ради простейшей задачи которая решается двумя функциями спасченных с интернета, подключать хост. Еще и на хосте ***ни наделал. А если мне смайлик отправят в телеге? Или украинскую i?
Еще и под хайд убрал

C++:





Код:
#include 
#include 
std
::
vector

split
(
const
std
::
string
&
str
,
const
std
::
string
&
delim
)
{
std
::
vector

strings
;
size_t start
;
size_t end
=
0
;
while
(
(
start
=
str
.
find_first_not_of
(
delim
,
end
)
)
!=
std
::
string
::
npos
)
{
end
=
str
.
find
(
delim
,
start
)
;
strings
.
push_back
(
str
.
substr
(
start
,
end
-
start
)
)
;
}
return
strings
;
}
std
::
uint32_t
utf8_encode
(
char
*
out
,
uint32_t
utf
)
{
if
(
utf
>
6
)
&
0x1F
)
|
0xC0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
0
;
return
2
;
}
else
if
(
utf
>
12
)
&
0x0F
)
|
0xE0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
6
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
3
]
=
0
;
return
3
;
}
else
if
(
utf
>
18
)
&
0x07
)
|
0xF0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
12
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
(
char
)
(
(
(
utf
>>
6
)
&
0x3F
)
|
0x80
)
;
out
[
3
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
4
]
=
0
;
return
4
;
}
else
{
// error - use replacement character
out
[
0
]
=
(
char
)
0xEF
;
out
[
1
]
=
(
char
)
0xBF
;
out
[
2
]
=
(
char
)
0xBD
;
out
[
3
]
=
0
;
return
0
;
}
}
std
::
string
cp_to_utf8
(
const
std
::
string
&
input
)
{
std
::
string out
;
auto
points
=
split
(
input
,
R"(\u)"
)
;
for
(
auto
&
p
:
points
)
{
char
buf
[
8
]
;
auto
len
=
utf8_encode
(
buf
,
std
::
stoi
(
p
,
nullptr
,
16
)
)
;
out
.
append
(
std
::
string
{
buf
,
len
}
)
;
}
return
out
;
}


usage:

C++:





[CODE]
int
main
(
)
{
setlocale
(
LC_ALL
,
"en_US.utf8"
)
;
std
::
string input
=
R"(\u041f\u0440\u0438\u0432\u0435\u0442)"
;
std
::
cout
 
Ответить с цитированием

  #28  
Старый 06.03.2022, 02:10
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от x0r1x  

про директивы вы забыли? или стал даркпикселем?
Слушай, а давай мы за тебя еще и посрем.
 
Ответить с цитированием

  #29  
Старый 06.03.2022, 02:19
Vegas
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами: 9879517

Репутация: 1
По умолчанию

[QUOTE="kin4stat"]

Ну ты и насрал конечно говна что пиздец

Ради простейшей задачи которая решается двумя функциями спасченных с интернета, подключать хост. Еще и на хосте ***ни наделал. А если мне смайлик отправят в телеге? Или украинскую i?
Еще и под хайд убрал

C++:





Код:
#include 
#include 
std
::
vector

split
(
const
std
::
string
&
str
,
const
std
::
string
&
delim
)
{
std
::
vector

strings
;
size_t start
;
size_t end
=
0
;
while
(
(
start
=
str
.
find_first_not_of
(
delim
,
end
)
)
!=
std
::
string
::
npos
)
{
end
=
str
.
find
(
delim
,
start
)
;
strings
.
push_back
(
str
.
substr
(
start
,
end
-
start
)
)
;
}
return
strings
;
}
std
::
uint32_t
utf8_encode
(
char
*
out
,
uint32_t
utf
)
{
if
(
utf
>
6
)
&
0x1F
)
|
0xC0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
0
;
return
2
;
}
else
if
(
utf
>
12
)
&
0x0F
)
|
0xE0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
6
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
3
]
=
0
;
return
3
;
}
else
if
(
utf
>
18
)
&
0x07
)
|
0xF0
)
;
out
[
1
]
=
(
char
)
(
(
(
utf
>>
12
)
&
0x3F
)
|
0x80
)
;
out
[
2
]
=
(
char
)
(
(
(
utf
>>
6
)
&
0x3F
)
|
0x80
)
;
out
[
3
]
=
(
char
)
(
(
(
utf
>>
0
)
&
0x3F
)
|
0x80
)
;
out
[
4
]
=
0
;
return
4
;
}
else
{
// error - use replacement character
out
[
0
]
=
(
char
)
0xEF
;
out
[
1
]
=
(
char
)
0xBF
;
out
[
2
]
=
(
char
)
0xBD
;
out
[
3
]
=
0
;
return
0
;
}
}
std
::
string
cp_to_utf8
(
const
std
::
string
&
input
)
{
std
::
string out
;
auto
points
=
split
(
input
,
R"(\u)"
)
;
for
(
auto
&
p
:
points
)
{
char
buf
[
8
]
;
auto
len
=
utf8_encode
(
buf
,
std
::
stoi
(
p
,
nullptr
,
16
)
)
;
out
.
append
(
std
::
string
{
buf
,
len
}
)
;
}
return
out
;
}


usage:

C++:





[CODE]
int
main
(
)
{
setlocale
(
LC_ALL
,
"en_US.utf8"
)
;
std
::
string input
=
R"(\u041f\u0440\u0438\u0432\u0435\u0442)"
;
std
::
cout



А если без этого использовать то при наличии в строке любых символов кроме русских игра вылетает
 
Ответить с цитированием

  #30  
Старый 06.03.2022, 03:21
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от vegas~  

А если без этого использовать то при наличии в строке любых символов кроме русских игра вылетает
Функция текст в utf-8 выдает. Консоль SF в CP1251 работает
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.