Notepad++需借助Python Script插件实现可靠的base64编解码,官方无内置MIME工具;推荐安装Python Script v1.5+后编写encode/decode脚本,并注意UTF-8编码、填充校验及换行处理。

Notepad++ 里没有内置 MIME 工具,base64 编解码得靠插件
Notepad++ 本身不提供 MIME 类型识别或 base64 编解码功能。所谓“MIME 工具”其实是用户对插件功能的误称——真正起作用的是 Python Script 或 Base64 Encode/Decode 这类第三方插件。官方插件库里早就不维护旧版 Base64 Encode/Decode(已下架),现在稳定可用的方案只有 Python Script 配合自定义脚本,或者手动调用系统命令。
用 Python Script 插件做 base64 编解码最可靠
这是目前 Windows 下 Notepad++ 最可控、兼容性最好的方式。前提是已安装 Python Script 插件(v1.5+,支持 Python 3.6+)。
- 安装插件后,打开
Plugins → Python Script → New script,新建一个脚本,比如叫base64_encode.py - 写入以下内容(仅编码):
import base64<br>editor.replaceSel(base64.b64encode(editor.getSelText().encode()).decode())
- 再建一个
base64_decode.py(注意异常处理):import base64<br>try:<br> decoded = base64.b64decode(editor.getSelText().encode()).decode()<br> editor.replaceSel(decoded)<br>except Exception as e:<br> notepad.messageBox(f"解码失败:{e}", "Error") - 保存后,在
Plugins → Python Script → Scripts下就能看到并绑定快捷键
直接选中文字调用系统 certutil 的临时解法
如果你只是偶尔操作、不想装插件,Windows 自带的 certutil 可以应急,但必须配合外部命令调用,且有严格限制:
- 只能解码(
certutil -decode),不能编码;编码得用PowerShell -Command "[Convert]::ToBase64String([IO.File]::ReadAllBytes('path'))",不适用于选中文本 - Notepad++ 的
Run → Run...(F5)里填:cmd /c "echo $(CURRENT_WORD) | certutil -decode - $(TEMP)\tmp.b64 >nul && type $(TEMP)\tmp.b64"
—— 实际不可靠,因为CURRENT_WORD不保留换行,且certutil要求输入是文件或含正确填充的 base64 块 - 更现实的做法:复制选中内容 → 打开 PowerShell → 粘贴执行
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("..."))
常见错误:粘贴后乱码、解码失败、空结果
这些问题几乎都源于数据格式不匹配,不是插件问题:
-
UnicodeEncodeError:选中的文本含中文等非 ASCII 字符,但脚本用了.encode()默认 ASCII。应明确写成.encode('utf-8') - 解码返回空或报
Incorrect padding:原始 base64 字符串被自动换行(如邮件里折行)、末尾缺失=、混入空格或不可见字符。先用正则清理:re.sub(r'[^A-Za-z0-9+/]', '', text) - 编码结果换行断裂:base64 标准允许每 76 字符换行,但某些接收方(如 HTTP header)要求单行。脚本里加
.replace(b'\n', b'') - 插件不响应?检查
Plugins → Python Script → Configuration中 Script startup 是否设为ATSTARTUP,且脚本文件后缀必须是.py
真实场景里,base64 往往嵌在 JSON、HTML 或日志里,直接选中时容易多带引号或换行符。动手前先 Ctrl+Shift+R 打开“快速替换”,用正则 ["']([^"']+)["'] 提取干净内容,比反复调试脚本省时间。

















