Преобразование PNG в закодированную строку Base64 в редакторе UltraEdit или аналогичном Windows - PullRequest
1 голос
/ 10 марта 2020

Я хотел бы открыть существующий PNG в UltraEdit или другом текстовом редакторе и сохранить строковое значение base64. Как лучше всего выполнить sh, используя UltraEdit или любой другой редактор Windows.

Ответы [ 2 ]

1 голос
/ 10 марта 2020

CudaText редактор поддерживает плагины Python. Вот новый плагин, который делает вашу работу.

  • Вызвать пункт меню «Плагины / Создать плагин».
  • Введите заголовок нового пункта меню и введите содержимое файла __init__.py, который будет открыт:
import os
from base64 import b64encode
from cudatext import *

class Command:
    def run(self):
        fn = dlg_file(True, '', '', 'PNG|*.png', '')
        if not fn: return
        s = open(fn, 'rb').read()
        s = b64encode(s).decode()
        x, y, x1, y1 = ed.get_carets()[0]
        ed.insert(x, y, s)
  • Перезапустить редактор. После вызова вашего пункта в меню плагинов, плагин запрашивает путь к файлу PNG и вставляет файл как Base64.
0 голосов
/ 11 марта 2020

Текстовые редакторы не являются лучшими инструментами для работы с двоичными данными, однако это может быть выполнено с использованием крошечного сценария node.js, если это вариант для вас:

console.log(require("fs").readFileSync(process.argv[2]).toString("base64"));

Вы можете даже обернуть его в небольшой пакетный скрипт, который вы можете поместить в файл образа, чтобы он генерировал версию base-64:

@echo off
node toBase64.js "%~1" > "%~1.base64"
...