HexSel plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 13
Joined: Tue Jul 15, 2014 1:16 pm

Post 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 байт. Но мне, понятно, нужны русские, хотя, ещё и пробелы могут быть, но не суть, главное, чтобы добрый человек сделал что-нибудь для конвертации выбранного текста в такой вид.

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Yevgenijz
Посмотрите converter.js, кодирование/раскодирование Quoted-printable вроде только в development version прикручено.

Offline
Posts: 13
Joined: Tue Jul 15, 2014 1:16 pm

Post by Yevgenijz »

Skif_off wrote:Yevgenijz
Посмотрите converter.js, кодирование/раскодирование Quoted-printable вроде только в development version прикручено.
Посмотрел. Упоминаний Quoted-printable не нашёл. Значит, не судьба?
Или кто-нибудь сможет сделать?

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post 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)

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post 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)

Offline
Posts: 13
Joined: Tue Jul 15, 2014 1:16 pm

Post by Yevgenijz »

Kley, Skif_off
Что такое
Кнопка (или добавьте в меню):
Имеется в виду, что нужно запустить Настройки/Плагины/Scripts::Main? Или нужно создать файл с указанным текстом, обозвать его Quoted-printable.js и запускать через Настройки/Плагины/Scripts::Main?
В моем AkelPad нет пункта меню Меню или тулбар.
Skif_off
converter.js по Вашей ссылке скачал, все равно пункт Меню или тулбар не проявился.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Yevgenijz
RTFM!
"Исключительно бодрит ум и вострит воображение" (с).
А именно:
1) "про кнопки" --> "\AkelFiles\Docs\ToolBar-Rus.txt"
2) "про меню" --> "\AkelFiles\Docs\ContextMenu-Rus.txt"

Offline
Posts: 13
Joined: Tue Jul 15, 2014 1:16 pm

Post by Yevgenijz »

Kley
http://akelpad.sourceforge.net/forum/vi ... 1943#31943
Image
это я Ваш текст обозвал Quoted-printable.js и попытался выполнить.

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post 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)

Offline
Site Admin
Posts: 6438
Joined: Thu Jul 06, 2006 7:20 am

Post 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

Offline
Posts: 1
Joined: Wed Mar 03, 2021 9:45 pm

Post 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>

Спасибо.
Last edited by deebhoarxt on Sat Mar 06, 2021 6:41 am, edited 1 time in total.

DV
Offline
Posts: 1323
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Re: HexSel plugin

Post by DV »

Why the HexSel panel does not use the color theme of the editing window?
For example, with the Bespin color theme in the editor (brown backround, bright text), the HexSel has white background with black text.

Offline
Posts: 25
Joined: Wed Jan 22, 2025 5:23 am

Re: HexSel & Coder color themes…

Post by Лестер Глючный »

deebhoarxt, Эээ… ну да… HexSel умеет отображать не просто КОД выделенного символа, а его фактическое значение для записи на накопитель. Например, в HexSel можно увидеть значение "3F" для того выделенного символа, который в выбранной кодировке вообще-то отсутствует, хотя в основной области (редактирования) виден введёный/вставленный символ "как есть" (и только при следующем открытии заменённого файла уже увидим «вопросик»). В принципе, стоило бы даже перенести этот функционал из HexSel в основной исполняемый файл (голый AkelPad), чтоб даже при отсутствии этого подключаемого модуля были заметны "мёртвые" символы (по умолчанию назначенный на COLOR_GRAYTEXT)…

DV, Do you mean «Bespin» theme of a "Coder" plugin? That's the answer. Use "View — Colors…" instead, it is not related to HexSel plugin itself :)

DV
Offline
Posts: 1323
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Re: HexSel plugin

Post by DV »

I mean these colors:
- the editor uses Bespin theme
- Coder::CodeFold uses Bespin theme
- Explorer uses Bespin theme
- Command Palette uses Bespin theme
- HexSel uses black-white theme...

Image

Offline
Posts: 25
Joined: Wed Jan 22, 2025 5:23 am

Re: HexSel plugin color scheme (?)

Post by Лестер Глючный »

main window does not use Bespin theme (menu background is white (255 255 255) Scrollbar, toolbar, etc — are also too bright) — it also relies on Windows® classic color scheme, but I want editor & other plugins to follow neither Coder plugin settings, nor AkelPad.ini:Options.Colors value, but current system color (.theme), I had to customize AkelEdit' colors to make it look like my current Windows classic color scheme:
Image
(in this image, HexSel background = 48 48 48, but main Editor background = 44 44 44, HexSel text color = 142 89 36, but editor text color = 77 147 112) — there is no checkbox "Windows Default" or a dropdown list with a "COLOR_*" constants {"Window Text", "Button Face", "Hilight", "Highlight Text", "Hot Trackikng Color", etc.}
HexSel.dll and Explorer.dll even didn't import "GetSysColor" function from user32.dll and use Windows® color scheme, but Coder did static import and does not set system colors on editor (+ each "language" syntax), Explorer, HexSel, SpecialChar, etc, that's why I find Coder plugin HARMFUL and even useless (it does not determine a language of pasted text to a new file without its name extension)! P.S. Coder plugin is updated today, but I find it impossible to test all themes: this plugin is always broken for me for years, and even when Highlight is enabled, it does not applied (Explorer, HexSel or other plugins use system colors instead of Coder or AkelEdit), maybe it depends on "High contrast" mode, or something else (turning off "Ignore colors specified on webpages" is also ineffective, but keeping it on gets me rid of "hard-coded" white background inside .CHM files)…
Post Reply