在 UltraEdit 或类似 Windows 编辑器中将 PNG 转换为 Base64 编码字符串

Convert PNG to Base64 Encoded String in UltraEdit or Similar Windows Editor

我想在 UltraEdit 或其他文本编辑器中打开现有的 PNG 并保存 base64 字符串值。使用 UltraEdit 或任何其他 Windows 编辑器完成此操作的最佳方法是什么。

CudaText 编辑器支持 Python 插件。这是可以完成您工作的新插件。

  • 调用菜单项"Plugins / Make Plugin"。
  • 输入新菜单项的一些标题并输入将要打开的 __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 插入。

文本编辑器不是处理二进制数据的最佳工具,但是如果您愿意,可以使用小型 node.js 脚本来完成此操作:

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

您甚至可以将其包装在一个小的批处理脚本中,您可以将图像文件放到其中并让它生成 base-64 版本:

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