
LinesFilter_mod2.js
Добавлен подхват выделенного текста, если в выделении нет переводов строки.
Ясно, я не правильно понял это:Нет, именно с BOM, без BOM кодировка не определится.
Сохранил в utf-16le (из расчёта, что 9* винды не встретятся), дополню "не латинскими" сущностями, погоняю, посмотримВроде бы, сейчас AkelPad сам читает файлы скриптов, потому как wscript.exe не понимает UTF-8 с BOM, тогда как такие скрипты можно запускать.
Code: Select all
http://ru.wikipedia.org/wiki/Рекорд_мира_по_прыжкам_в_высоту_(мужчины)
Code: Select all
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BA%D0%BE%D1%80%D0%B4_%D0%BC%D0%B8%D1%80%D0%B0_%D0%BF%D0%BE_%D0%BF%D1%80%D1%8B%D0%B6%D0%BA%D0%B0%D0%BC_%D0%B2_%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83_(%D0%BC%D1%83%D0%B6%D1%87%D0%B8%D0%BD%D1%8B)
Code: Select all
ftp://primer.servera.ru/VIDEO/+Uploaded/P.S. Я люблю тебя - P.S. I Love You (2007, DVDRip).avi
Code: Select all
ftp://primer.servera.ru/VIDEO/+Uploaded/P.S.%20%D0%AF%20%D0%BB%D1%8E%D0%B1%D0%BB%D1%8E%20%D1%82%D0%B5%D0%B1%D1%8F%20-%20P.S.%20I%20Love%20You%20(2007,%20DVDRip).avi
Code: Select all
ftp://primer.servera.ru/VIDEO/+Uploaded/P.S.%20%DF%20%EB%FE%E1%EB%FE%20%F2%E5%E1%FF%20-%20P.S.%20I%20Love%20You%20(2007,%20DVDRip).avi
Вот так получается:прогнать весь юникод через encodeURI() и посмотреть, что кодируется, а что – нет.
Кодирует. Только аргументы в коментах перепутаны, наверное наоборот:С параметром -codePage=1251 должно кодировать ссылки в windows-1251.
Code: Select all
-mode=1 - encode
-mode=2 - decode
Ага, при копировании из неюникодных программ после вставки в AkelPad иногда получаются аналогичные символы. При этом помогает «Ctrl+Shift+V, Ctrl+Shift+Ins – вставить текст как ANSI».Infocatcher wrote:а потом угадывать кодировку:Code: Select all
ftp://primer.servera.ru/VIDEO/+Uploaded/P.S. ß ëþáëþ òåáÿ - P.S. I Love You (2007,VDRip).avi
Только у нас другой случай – вместо EB FE E1 мы получаем 00 EB 00 FE 00 E1.Infocatcher wrote:Какой-то алгоритм:
Вродеconverter-test.js
Code: Select all
-"Текст > URI (UTF-8)" Call("Scripts::Main", 1, "converter.js", `-mode=1 '-type="URI"'`)
-"Текст > URI (ANSI)" Call("Scripts::Main", 1, "converter.js", `-mode=1 '-type="URI"' -codePage=1251`)
-"Текст > URI Component (UTF-8)" Call("Scripts::Main", 1, "converter.js", `-mode=1 '-type="URIComponent"'`)
-"Текст > URI Component (ANSI)" Call("Scripts::Main", 1, "converter.js", `-mode=1 '-type="URIComponent"' -codePage=1251`)
-"URI (UTF-8) > Текст" Call("Scripts::Main", 1, "converter.js", `-mode=2 '-type="URI"'`)
-"URI (ANSI) > Текст" Call("Scripts::Main", 1, "converter.js", `-mode=2 '-type="URI"' -codePage=1251`)
-"URI Component (UTF-8) > Текст" Call("Scripts::Main", 1, "converter.js", `-mode=2 '-type="URIComponent"'`)
-"URI Component (ANSI) > Текст" Call("Scripts::Main", 1, "converter.js", `-mode=2 '-type="URIComponent"' -codePage=1251`)
При -1 берется кодировка текущего файла (AkelPad.GetEditCodePage(0)), а при -2 конвертер кодировок просто ничего не делает.Deim0s wrote:Можно коротенько, про аргументы: -1 - current и -2 - don't change?