|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Всем добрый вечер! Поставило руководство задачу конвертировать XML из ANSI в UTF8..все бы ни чего, да в постановке задачи написали: Конвертация из CodePageIN в CodePageOut. Я набросал небольшой код, который делает это: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
НО самое страшное, что это код для Delphi 10, а нужно реализовать для Delphi 7 :( Есть ли какой либо аналог RawByteString в JCL или какой либо другой библиотеки для реализации поставленной задачи ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 20:08 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Lisichkin или какой либо другой библиотеки для реализации поставленной задачи ? Есть функции winapi: MultiByteToWideChar WideCharToMultiByte ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 20:26 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Как конвертировать из ANSI в UTF8 в Delphi 7 я знаю: Код: pascal 1. 2. 3. 4. 5. 6. 7.
А Win API есть только параметр <UINT CodePage> и ГеДе Ви увидели CodePageIn/CodePageOut ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 20:32 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Lisichkin ГеДе Ви увидели CodePageIn/CodePageOut ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 20:35 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Lisichkin А Win API есть только параметр <UINT CodePage> и ГеДе Ви увидели CodePageIn/CodePageOut ? А Ви таки определения функций посмотрите ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 20:44 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
LisichkinНО самое страшное, что это код для Delphi 10 Нет, самое страшное, что этот код совершенно бесполезен, поскольку XML нельзя преобразовывать просто как строку. У него есть заголовок и кодировка всего остального должна этому заголовку соответствовать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 23:12 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Я не корректно написал: нужно конвертировать не XML, а результат выполнения скрипта. Просто у меня для теста был как раз XML. В общем случае, результатом выполнения скрипта, может быть любой байт код. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 08:53 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
А чем TEncoding не прет? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 09:28 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Lisichkin Поставило руководство задачу конвертировать XML из ANSI в UTF8..все бы ни чего, да в постановке задачи написали: Конвертация из CodePageIN в CodePageOut. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 09:59 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
rgreat А чем TEncoding не прет? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 10:00 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
_Vasilisk_, А, некрофилия, ясно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 11:36 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Не некрофилия, а очень известная в узких кругах МИС :) Я посмотрел исходники ConvertCP: https://sourceforge.net/projects/convertcp/files/ Объем кода не порадовал - использование Win API MultiByteToWideChar/WideCharToMultiByte есть - но это только вершина айсберга. Хотелось бы использовать что то уже имеющееся (библиотеку) и да, для D7 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 13:13 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
LisichkinОбъем кода не порадовал - использование Win API MultiByteToWideChar/WideCharToMultiByte есть - но это только вершина айсберга. Четыре их вызова + две проверки на ошибку и выделение буфера. Итого восемь строчек. Вас огорчает так много букафф?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 13:48 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Lisichkin Я посмотрел исходники ConvertCP: https://sourceforge.net/projects/convertcp/files/ Объем кода не порадовал - использование Win API MultiByteToWideChar/WideCharToMultiByte есть - но это только вершина айсберга. Ну ты бы еще в исходники опенофиса залез... На самом деле MultiByteToWideChar и всё, из него можно уже более привычной Utf8Encode (она вроде бы уже была в D7) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 15:30 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Четыре их вызова + две проверки на ошибку и выделение буфера. Итого восемь ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 16:00 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
_Vasilisk_Четыре всего. По два вызова на каждую конвертацию Плюс две проверки на ошибку и два выделения памяти. Итого - восемь строк. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 16:07 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Плюс две проверки на ошибку и два выделения памяти. Итого - восемь строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 16:33 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Lisichkin Всем добрый вечер! Поставило руководство задачу конвертировать XML из ANSI в UTF8..все бы ни чего, да в постановке задачи написали: Конвертация из CodePageIN в CodePageOut. Я набросал небольшой код, который делает это: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
НО самое страшное, что это код для Delphi 10, а нужно реализовать для Delphi 7 :( Есть ли какой либо аналог RawByteString в JCL или какой либо другой библиотеки для реализации поставленной задачи ? DLL-ку с нужным функционалом написать на XE-10 и подключить к Delphi 7. Решение рабочее хоть и немного костыльное. Заодно будет стимулировать переходить на XE-10. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 10:36 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Наталья87 DLL-ку с нужным функционалом написать на XE-10 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 11:07 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Приверженцы ректальной тонзиллэктомии не сдаются! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 11:51 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Fr0sT-Brutal Приверженцы ректальной тонзиллэктомии не сдаются! Нет, ректальная тонзиллэктомия - это написать приложение (exe) на D XE10 с нужным функционалом, вызывать его через командную строку с нужными параметрами, результат возвращать через файлы. Приходилось так делать, работая с 1С 7.7, т. к. она нормально с DLL не работает и сам формат DLL такой там, что без бутылки не разобраться. С DLL решение куда красивее, но не во всех случаях применимо. _Vasilisk_ Наталья87 DLL-ку с нужным функционалом написать на XE-10 Чтобы решить задачу, сдать результат заказчику и побыстрее забыть. И не насиловать морально устаревшую D7. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 12:49 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Наталья87 Приходилось так делать, работая с 1С 7.7, т. к. она нормально с DLL не работает и сам формат DLL такой там, что без бутылки не разобраться. С DLL решение куда красивее, но не во всех случаях применимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 13:19 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Наталья87Приходилось так делать, работая с 1С 7.7, т. к. она нормально с DLL не работает и сам формат DLL такой там, что без бутылки не разобраться. Для человека, не осилившего найти пункт меню "View Source", это звучит не очень убедительно... И да, выносить целых восемь строчек в DLL, это тоже вполне Ваш стиль. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 13:25 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
авторЧтобы решить задачу, сдать результат заказчику и побыстрее забыть. И не насиловать морально устаревшую D7. херак-херак и в продакшн ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 13:40 |
|
Конвертация AnsiString из одной кодовой страницы в другую
|
|||
---|---|---|---|
#18+
Наталья87 Чтобы решить задачу, сдать результат заказчику и побыстрее забыть. И не насиловать морально устаревшую D7. Заказчик хочет D7. Вряд ли он обрадуется куску софта, написанному в недоступной и очень сильно платной среде. Толку от этой DLL, если ее даже не пересобрать? Тогда уж хотя бы FPC присоветовали. Ну или ICU бахнуть - а что, модно, стильно и х-платформно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 14:12 |
|
|
start [/forum/topic.php?fid=58&fpage=8&tid=2036875]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 146ms |
0 / 0 |