| View previous topic :: View next topic |
| Author |
Message |
F. Phoenix
Joined: 24 Dec 2011 Posts: 113
|
Posted: Tue Sep 25, 2012 9:16 pm Post subject: |
|
|
Andrey_A_A, не особо понял, что ты пытаешься сделать, но стоит думать, флаги 265 и 266 друг другу обратны. А если префиксы не добавляются при конвертации текста в хекс, то можно их регулярками добавить. Типа:
| Code: | | str = str.replace(/([\dA-F]{2})/g, "&#$1;"); |
Вот я кстати вчера набросал читалку хекс-значений для ini-файлов Акела, может поможет чем: >>>
| Code: |
var hWndEdit = AkelPad.GetEditWnd();
if (hWndEdit)
{
var pCode = AkelPad.GetSelText();
pCode = pCode.replace(/([\dA-F]{2})([\dA-F]{2})/g, "$2$1"); // UTF-16BE → UTF-16LE
var pText = HexString(pCode, 10);
WScript.Echo(pText);
}
function HexString(pInput, nFlags)
{
var pOutput = "";
var lpOutput, lpOutputLen, lpOutputPtr;
if (pInput && (lpOutput = AkelPad.MemAlloc(_X64?8:4 /*sizeof(wchar_t *)*/)))
{
AkelPad.Call("HexSel::Main", 1, nFlags, "", "", pInput, pInput.length, 0, lpOutput);
lpOutputPtr = AkelPad.MemRead(lpOutput, 2 /*DT_QWORD*/);
pOutput = AkelPad.MemRead(lpOutputPtr, 1 /*DT_UNICODE*/);
AkelPad.MemFree(lpOutputPtr);
AkelPad.MemFree(lpOutput);
}
return pOutput;
}
|
|
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Tue Sep 25, 2012 10:10 pm Post subject: |
|
|
| Quote: | | не особо понял, что ты пытаешься сделать |
Я беру символ и перевожу его в десятиричную систему
| Code: | | Call("HexSel::Main", 1, 264") |
264=256+8
для вставки в html
хочу обратно из десятиричной, чтобы превратился в символ |
|
| Back to top |
|
 |
F. Phoenix
Joined: 24 Dec 2011 Posts: 113
|
Posted: Tue Sep 25, 2012 10:15 pm Post subject: |
|
|
| Там флаги 1 и 2 указывают направление преобразования, а автодекту я как-то не особо доверяю. |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Tue Sep 25, 2012 10:20 pm Post subject: |
|
|
| Quote: | | Там флаги 1 и 2 указывают направление преобразования, а автодекту я как-то не особо доверяю. |
это понятно - 265 и 266 не взаимны
264 и 265 - работают
к примеру переводят
знак ¶ в 182 а обратно 266 не хочет ( |
|
| Back to top |
|
 |
F. Phoenix
Joined: 24 Dec 2011 Posts: 113
|
Posted: Tue Sep 25, 2012 10:28 pm Post subject: |
|
|
Значит, видимо, так не умеет - он вообще пока как-то сильно ограничен, на вход мало опций работает.
=> Надо дописать код преобразования десятичной в хексы, как я вон преобразовывал юникод BE в LE. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4646
|
Posted: Wed Sep 26, 2012 4:29 am Post subject: |
|
|
| Andrey_A_A wrote: | Спасибо, подскажите обратное действие этому
| Code: | | -"Символ - -> HTML" Call("HexSel::Main", 1, 264, "&#", ";") |
| Вообще-то эта команда как кодирует, так и раскодирует
| Quote: | | ...знак ¶ в 182 а обратно 266 не хочет ( | Не подтверждаю. |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Wed Sep 26, 2012 8:14 am Post subject: |
|
|
| Quote: | | Вообще-то эта команда как кодирует, так и раскодирует |
или я что-то не понял или...
1. Выделяю символ ¶
2. нажимаю Call("HexSel::Main", 1, 264")
3. Выходит 182
4. Выделяю 182
5. нажимаю Call("HexSel::Main", 1, 264")
6. Выходит 495650
а мне нужно получить обратно символ ¶
у меня команда
Call("HexSel::Main", 1, 266)
вообще ничего не делает, чтобы я не выделял |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4646
|
Posted: Wed Sep 26, 2012 9:06 am Post subject: |
|
|
Andrey_A_A
Причем здесь?
| Code: | | Call("HexSel::Main", 1, 264") |
В вопросе и в ответе значится | Code: | | Call("HexSel::Main", 1, 264, "&#", ";") |
| Quote: | у меня команда
Call("HexSel::Main", 1, 266)
вообще ничего не делает, чтобы я не выделял | Десятеричное/восьмеричное конвертирование Код->Символ без префиксов не будет работать. Ибо как плагин будет определять, где код заканчивается, а где начинается? |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Wed Sep 26, 2012 9:58 am Post subject: |
|
|
| Quote: | | В вопросе и в ответе значится |
Блин, затупил - всё просто оказывается, извиняюсь за Stupid-последовательности
всё работает |
|
| 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
|