|
С/С++ конвертация из char* UTF-8 в wchar_t* UTF-16LE | ☑ | ||
---|---|---|---|---|
0
Garykom
гуру
27.06.19
✎
15:06
|
Требуется С/С++ конвертация из char* UTF-8 в wchar_t* UTF-16LE
Собственно как проще всего, желательно кроссплатформенно, но хватит и под VS для Windows. |
|||
1
trdm
27.06.19
✎
15:15
|
(0) Qt
|
|||
2
crasler
27.06.19
✎
15:25
|
iconv
|
|||
3
Garykom
гуру
27.06.19
✎
15:26
|
Я просил простейший это примерно как сказать ICU или MultiByteToWideChar
|
|||
4
Garykom
гуру
27.06.19
✎
15:28
|
(2) Пример?
У меня есть проект ВК на C++ (под VS2017) как туда это сделать? |
|||
5
Garykom
гуру
27.06.19
✎
15:29
|
Блин гуглить то я умею, я пока далеко не сеньор С++ и даже не мидл а только на уровне джуна блин.
|
|||
6
crasler
27.06.19
✎
15:30
|
(3)
#include <iostream> #include <fstream> #include <iconv.h> int main(int argc, char *argv[]) { char src[] = "abcčde"; char dst[100]; size_t srclen = 6; size_t dstlen = 12; fprintf(stderr,"in: %s\n",src); char * pIn = src; char * pOut = ( char*)dst; iconv_t conv = iconv_open("UTF-8","UTF-16LE"); iconv(conv, &pIn, &srclen, &pOut, &dstlen); iconv_close(conv); fprintf(stderr,"out: %s\n",dst); } |
|||
7
Вафель
27.06.19
✎
15:30
|
и что на stack'е нет ответа?
|
|||
8
Garykom
гуру
27.06.19
✎
15:31
|
(6) iconv.h для VS где взять? Как прилинковать в DLL ?
|
|||
9
Garykom
гуру
27.06.19
✎
15:32
|
(6) И это только проблему кодировки решит а еще надо wchar_t* на выходе вместо char*
|
|||
10
ДенисЧ
27.06.19
✎
15:32
|
||||
11
H A D G E H O G s
27.06.19
✎
15:33
|
Я знал, что увижу эту тему.
|
|||
12
Garykom
гуру
27.06.19
✎
15:33
|
(10) Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
|
|||
13
crasler
27.06.19
✎
15:33
|
(9) Что трудно wchar_t *w = (wchar_t*) pOut
http://gnuwin32.sourceforge.net/packages/libiconv.htm |
|||
14
Garykom
гуру
27.06.19
✎
15:34
|
(11) Я тоже поэтому и отложил сначала и тему поднимал.
С++ придумывали одни извращенцы для того чтобы другие хорошенько полюбились. Как было замечательно даже на паскале... |
|||
15
Garykom
гуру
27.06.19
✎
15:38
|
(13) В голанге это выглядит так:
|
|||
16
Garykom
гуру
27.06.19
✎
15:38
|
(15) к (14)
|
|||
17
Garykom
гуру
27.06.19
✎
15:39
|
(12) Блин забыл в ""
Искать я умею в инете, вот рабочего нихрена нет чтобы из коробки взлетело без обработки напильником. |
|||
18
Garykom
гуру
27.06.19
✎
15:43
|
Короче чтобы в Go у меня уже конвертится и передается в С++ готовый *C.wchar_t
Но хочу этот функционал перенести в С++ часть, выкинув из Golang, чтобы там просто строки в UTF-8 были и все. |
|||
19
Garykom
гуру
27.06.19
✎
15:45
|
Ни у кого нет исходников ВК на С++ с ICU внутри?
По типу https://habr.com/ru/post/145187/ |
|||
20
H A D G E H O G s
27.06.19
✎
16:05
|
Жил бы на Дельфи, бед бы не знал.
|
|||
21
Вафель
27.06.19
✎
16:13
|
а что на самом Го нельзя компоненту написать?
|
|||
22
H A D G E H O G s
27.06.19
✎
16:16
|
(21) Это типа ведроявы наверное, язык от Пабло Глиномесси, для смузевых мальчиков. Что то низкоуровневое - только через jni и C++
|
|||
23
Вафель
27.06.19
✎
16:18
|
(22) ну тс же на го пишет, а с++ как переходник
|
|||
24
Garykom
гуру
27.06.19
✎
16:19
|
(21) Если бы 1С не хотело в ВК классы и С++ то можно было бы, чистый C оно прекрасно эмулирует.
|
|||
25
Garykom
гуру
27.06.19
✎
16:20
|
(22) Ошибаешься все низкоуровневое есть, вот нет эмуляции классов С++ с их извратами.
|
|||
26
Garykom
гуру
27.06.19
✎
16:21
|
(23) Угу вынужденно.
Кто покажет исходники ВК для 1С на чистом "С" без "++" будут благодарен в разумных пределах даже. |
|||
27
Garykom
гуру
27.06.19
✎
16:23
|
(26) "Каждый объект компоненты должен наследоваться от абстрактного класса IComponentBase (файл ComponentBase.h входит в комплект поставки) и реализовать все его методы."
|
|||
28
Вафель
27.06.19
✎
16:25
|
а что получается компонеты можно только на С++ писать? на той же делфе уже нельзя?
|
|||
29
Garykom
гуру
27.06.19
✎
16:28
|
(28) А вот это интересный вопрос как там это сделано.
Вроде видел NativeAPI на Delphi/Lazarus |
|||
30
Garykom
гуру
27.06.19
✎
16:42
|
(29)+ https://github.com/Zawullon/fpnativeapi/blob/master/componentbase.inc
Я же задолбаюсь это эмулировать... |
|||
31
Вафель
27.06.19
✎
16:43
|
ну а что хорошая задачка для глубокого понимания го.
хоть 1 язык может далее джуна выучишь ))) |
|||
32
Garykom
гуру
27.06.19
✎
16:50
|
(31) Объясни науй мне знать C++ далее джуна?
Когда я на уровне сеньора и мидла знаю уже несколько других! |
|||
33
Garykom
гуру
27.06.19
✎
16:51
|
(32)+ По C++ у меня кстати знания самые херовые из всех языков, примерно так же только еще питон знаю.
|
|||
34
Вафель
27.06.19
✎
16:54
|
(31) вроде речь про Го была
|
|||
35
Garykom
гуру
27.06.19
✎
16:55
|
(34) По Go я уже на уровне близко к мидлу, далеко от джуна
|
|||
36
Garykom
гуру
27.06.19
✎
16:56
|
На Го я легко сконвертил требуемое и передал в код С++ а тот вернул в 1С и все отобразилось ок.
|
|||
37
Garykom
гуру
27.06.19
✎
16:56
|
Как это сделать в С++ ? Без Го.
|
|||
38
Garykom
гуру
28.06.19
✎
03:40
|
Сделал под Windows через MultiByteToWideChar
|
|||
39
Garykom
гуру
28.06.19
✎
03:49
|
(38)+ Под Linux iconv штатно пашет, что делать с Android и iOS пока хз.
|
|||
40
Сияющий в темноте
28.06.19
✎
08:47
|
В чем сложность пройти по строке и разобрать вручную?
опять же,не надо будет внешние библиотеки цеплять.если хочется красиво,то пройти два раза-посчитать количество символов-первый раз,потом выделить память и пройти еще раз с записью результата. вот в json через Ascii сложнее,но тоже можно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |