Page 8 of 8
Posted: Fri Oct 28, 2016 10:52 am
by Yevgenijz
Такая проблема: Есть куча контактов в файле .
vcf. Контакты взяты из телефона. Есть плагин для TC
tcPhonebook. Беда в том, что после корректировки контактов прога их автоматически конвертит в удобочитаемый UTF8, а вот обратно в QUOTED-PRINTABLE - нет. А телефон не понимает контактов, в которых буквы не зашифрованы в QUOTED-PRINTABLE, получается контакт с номером телефона, но без имени абонента.
Как я понял, на базе этого плагина можно состряпать что-то, что переводило бы выделенный текст в QUOTED-PRINTABLE.
QUOTED-PRINTABLE - это шестнадцатиричный дамп UTF8 строки, в которой каждый байт отделяется от другого символом
=. Если вдруг в строке встречается
=, то заменяется на
=3D. Например, =D0=90=D0=BB=D1=8C=D1=84=D0=B0=D1=81=D1=82=D1=80=D0=B0=D1=85=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5
Здесь D0 и D1 - признаки, что следующий символ - русская буква. Короче, неанглийские буквы все занимают 2 байта, иероглифы - больше, английские 1 байт. Но мне, понятно, нужны русские, хотя, ещё и пробелы могут быть, но не суть, главное, чтобы добрый человек сделал что-нибудь для конвертации выбранного текста в такой вид.
Posted: Fri Oct 28, 2016 11:31 am
by Skif_off
Yevgenijz
Посмотрите
converter.js, кодирование/раскодирование Quoted-printable вроде только в development version прикручено.
Posted: Fri Oct 28, 2016 1:47 pm
by Yevgenijz
Skif_off wrote:Yevgenijz
Посмотрите
converter.js, кодирование/раскодирование Quoted-printable вроде только в development version прикручено.
Посмотрел. Упоминаний Quoted-printable не нашёл. Значит, не судьба?
Или кто-нибудь сможет сделать?
Posted: Fri Oct 28, 2016 5:23 pm
by Kley
Yevgenijz
Правильно ли я понял? Вам нужно преобразовать выделенную строку "Альфастрахование" в
Code: Select all
=D0=90=D0=BB=D1=8C=D1=84=D0=B0=D1=81=D1=82=D1=80=D0=B0=D1=85=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5
Если да, то:
Code: Select all
"Меню или тулбар" Call("HexSel::Main", 2, 5, "=", "", 65001)
Posted: Fri Oct 28, 2016 5:35 pm
by Skif_off
Yevgenijz
По ссылке есть ссылка:
development version, вот ту версию и возьмите. Кнопка (или добавьте в меню):
Code: Select all
-"Quoted-Printable --> Текст" Call("Scripts::Main", 1, "converter.js", `-mode=2 -type="QuotedPrintable" -dialog=false -onlySelected=true`) Icon(0)
Posted: Sun Nov 27, 2016 12:03 pm
by Yevgenijz
Kley,
Skif_off
Что такое
Кнопка (или добавьте в меню):
Имеется в виду, что нужно запустить Настройки/Плагины/Scripts::Main? Или нужно создать файл с указанным текстом, обозвать его Quoted-printable.js и запускать через Настройки/Плагины/Scripts::Main?
В моем AkelPad нет пункта меню
Меню или тулбар.
Skif_off
converter.js по Вашей ссылке скачал, все равно пункт
Меню или тулбар не проявился.
Posted: Sun Nov 27, 2016 12:44 pm
by opk44
Yevgenijz
RTFM!
"Исключительно бодрит ум и вострит воображение" (с).
А именно:
1) "про кнопки" --> "\AkelFiles\Docs\ToolBar-Rus.txt"
2) "про меню" --> "\AkelFiles\Docs\ContextMenu-Rus.txt"
Posted: Sun Nov 27, 2016 2:18 pm
by Yevgenijz
Kley
http://akelpad.sourceforge.net/forum/vi ... 1943#31943

это я Ваш текст обозвал Quoted-printable.js и попытался выполнить.
Posted: Sun Nov 27, 2016 7:47 pm
by Kley
Yevgenijz
opk44 wrote:1) "про кнопки" --> "\AkelFiles\Docs\ToolBar-Rus.txt"
Скачайте ToolBar плагин. Переместите его в папку ...\AkelFiles\Plugs\ToolBar.dll. Будет тулбар - будут кнопки.
opk44 wrote:2) "про меню" --> "\AkelFiles\Docs\ContextMenu-Rus.txt"
Скачайте ContextMenu плагин. Переместите его в папку ...\AkelFiles\Plugs\ContextMenu.dll. Будет возможность редактировать меню.
Kley wrote:"Меню или тулбар" Call("HexSel::Main", 2, 5, "=", "", 65001)
Это строка для меню и\или кнопки тулбара. Можете назвать, как хотите, хоть так:
Code: Select all
"Quoted-printable" Call("HexSel::Main", 2, 5, "=", "", 65001)
Posted: Sat Mar 31, 2018 5:13 pm
by Instructor
Добавлено: настройка выводить только преобразованный текст. Теперь по умолчанию не конвертированный текст остаётся. Также добавлен флаг 4096 во внешние вызовы 1 и 2.
Added: option only converted text to output. Now by default non-converted text remains. Also added flag 4096 in external call 1 and 2.
HexSel plugin v7.2
Posted: Wed Mar 03, 2021 9:49 pm
by deebhoarxt
Здравствуйте.
1). Тщательно и внимательно изучил описание порядка байтов Little-Endian и Big-Endian.
При порядке байтов Big-Endian в кодировке UTF-16 символ "1" должен выглядеть так <0031>, а в HexSel показывается <3100>.
В hex-редакторе при порядке байтов Big-Endian в кодировке UTF-16 символ "1" показывается верно - 00 31.
Либо все статьи о порядке байтов неверно написаны, либо я неправильно их понял, либо плагин HexSel работает неверно.
Вообще, для полной ясности записи многобайтового hex-кода символа надо знать, как располагаются ячейки памяти друг относительно друга, в какую сторону увеличивается адрес. Обычно ячейки памяти записывают слева направо (→), т.е. адреса увеличиваются слева направо (→). Но в HexSel, видимо, предполагается, что адреса ячеек памяти увеличиваются справа налево (←) (что для единообразия с общепринятым подходом надо поменять). Полагаю, чтобы было бы очень полезным указать в заголовке окна направление расположения ячеек памяти, т.е. направление увеличения адресов ячеек. Например, так: HexSel [RAM addresses: low → high].
2). Прошу добавить 4-хбайтовое hex-представление для символов текста. UTF-32 ведь тоже используется. Таким образом для символа "1" будет hex-представление такое (в UTF-16 BE и UTF-32 BE):
<31>
<0031>
<00000031>
Спасибо.