Есть ли текстовый редактор, который может конвертировать Base 2 в шестнадцатеричный?

Например, у меня есть файл со следующими строками:

0000000000000000000000000000001000, 0000000000000000000000000000000000, 0000000000000000000000000010000, 0000000000000000000000111000, 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000f0000000000000000f000000000000000000000000fть

И я хочу видеть их в шестнадцатеричном представлении:

0000_0008, 0000_0000, 0000_0010, 0000_0038, 0000_0030, 0000_0040,

Спасибо.

Если вы что-то не кодируете, я подозреваю, что вам придется конвертировать каждое поле отдельно.
Это должен быть текстовый редактор? Вы сохраняете его как CSV, импортируете в Excel, конвертируете с помощью BIN2HEX и экспортируете как CSV.
@browly, видимо, BIN2HEX не работает для двоичных чисел длиной более 10 бит.

Ответы (1)

Редактор CudaText имеет плагин. Он читает текущий буфер как список чисел с основанием 2, записывает список шестнадцатеричных значений на новую вкладку.

Код плагина в__init__.py

from cudatext import *

def do_fmt(n):
    s = '%08x'%n
    s = s[:4] + '_' + s[4:]
    return s

class Command:
    def run(self):
        s = ed.get_text_all()

        s = s.replace(' ', ',')
        s = s.replace(';', ',')
        s = s.replace('\n', ',')
        s = s.replace('\t', ',')
        l = s.split(',')

        l = [int(s, 2) for s in l if s]
        l = [do_fmt(n) for n in l]

        out = ', '.join(l)+','

        #put to new tab
        file_open('')
        ed.set_text_all(out)