Например, у меня есть файл со следующими строками:
0000000000000000000000000000001000, 0000000000000000000000000000000000, 0000000000000000000000000010000, 0000000000000000000000111000, 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000f0000000000000000f000000000000000000000000fть
И я хочу видеть их в шестнадцатеричном представлении:
0000_0008, 0000_0000, 0000_0010, 0000_0038, 0000_0030, 0000_0040,
Спасибо.
Редактор 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)
Мог говорит восстановить Монику
хмурый
мбмсв