View previous topic :: View next topic |
Author |
Message |
Monarch-LFV
Joined: 22 Jul 2019 Posts: 240
|
(Separately) Posted: Wed Mar 09, 2022 04:37 Post subject: |
|
|
Skif_off
Да, вы правы, вставил 2 байта в hex-редакторе и заработало. Попробую связаться с автором плагина. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Wed Mar 09, 2022 06:11 Post subject: |
|
|
Monarch-LFV
Возможно, есть смысл со скрипта начать? Типа
Code: | Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile(filename, 1, False, -1)
Str = TextStream.Read(256)
TextStream.Close
N1 = InStr(Str, "<string>")
If IsNumeric(N1) = False Then WScript.Quit
N2 = InStr(N1, Str, "</string>")
content = Mid(Str, N1 + 8, N2 - (N1 + 7)) |
Добавлено спустя 19 минут:
Чутка оптимизировал, чтобы поиск закрывающего тега шёл не с самого начала. |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 240
|
(Separately) Posted: Wed Mar 09, 2022 06:57 Post subject: |
|
|
Skif_off
За скрипт для WinScriptsAdv большое спасибо, немного адаптировал: отключил ошибку (на всякий случай, версии файлов DWG бывают разные, воможно принцип отличается), чтение большего массива из файла (16кБ, где-то в этих пределах в файле лежат нужные данные) и убрал последний символ "<"
Code: | on error resume next
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile(filename, 1, False, -1)
Str = TextStream.Read(16000)
TextStream.Close
N1 = InStr(Str, "<string>")
If IsNumeric(N1) = False Then WScript.Quit
N2 = InStr(N1, Str, "</string>")
content = Mid(Str, N1 + 8, N2 - (N1 + 8)) |
Работает как часы.
Еще, по поводу плагина в теме (PCREsearch): есть в ini еще настройка:
Code: | ; allow binary zeros (two joined zero bytes) for detecting UTF-16 files (does not affect UTF-8 detection)
UnicodeZerosValid=false |
Поменял на true, тестовый файл стал правильно читаться, но вот dwg также не считываются... подвох все же есть с нулями где-то. Но, думаю, уже и не надо, скрипт выше работает - и это главное. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Wed Mar 09, 2022 16:19 Post subject: |
|
|
Monarch-LFV wrote: | и убрал последний символ "<" |
Прошу прощения, обсчитался (не проверял, с телефона) , насчёт 16000-16кб: метод Read читает по символам, не по байтам, по идее - для двухбайтной UTF-16 тут должно быть достаточно 8000.
За UnicodeZerosValid не подскажу, но выглядит так, будто связан с чтением бинарных файлов, только там 00 (или 0000 для двухбайтной) может быть не в конце строки. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|