Notepad++ 默认不支持 URL 编解码,需依赖插件(如 MIME Tools)或外部 Python 脚本实现;MIME Tools 仅兼容 v7.x 或手动适配 v8.x,v8.0+ 用户推荐用 Python 脚本配合外部工具调用。
Notepad++ 里没有内置 URL 编解码功能
直接点说:Notepad++ 默认不提供
或
按钮,也没集成在右键菜单或编码菜单里。你搜到的“方法”大多依赖插件,不是原生能力。
常见错误现象是:在「编码」菜单里反复点击
、
、
,结果中文变成
或反过来乱码——那是字符集转换,不是 URL 编解码,完全走错方向。
真正能用的路径只有一条:装插件。但要注意兼容性问题:
新版 Notepad++(v8.0+)已移除旧式插件管理器(Plugin Manager),
、
这类老插件默认不可见、无法安装
是最常被推荐的,但它最后更新是 2017 年,官方不再维护,在 v8.6+ 上可能加载失败或功能异常
插件启用后,编解码入口通常出现在右键菜单或
子菜单,不是顶部主菜单
用 MIME Tools 插件做 URL 编解码(仅限 v7.x 或手动适配 v8.x)
如果你用的是 Notepad++ v7.9 及更早版本,
是最省事的选择;v8.x 用户需手动安装 DLL 并确认签名兼容。
实操步骤:
下载
(注意匹配 x64/x86 架构,和你的 Notepad++ 位数一致)
放到
(或便携版的
目录下)
重启 Notepad++,选中一段文本(比如
),右键 →
解码同理:选中类似
的内容,右键 →
注意:
对空格默认编码为
(符合标准),但不会把
、
等保留字符再编码——这是正确行为,不是 bug。
替代方案:用 Python 脚本 + Notepad++ 的 Run 功能(v8.x 推荐)
当插件失效或你不想折腾 DLL 时,用系统已有 Python 更可靠。Notepad++ 支持外部命令调用,且能自动传入当前选中文本。
准备一个脚本
:
然后在 Notepad++ 中配置外部工具:
「运行」→「运行...」→ 输入:
,保存为快捷键(如 Ctrl+Alt+E)
同样配一个
版本,快捷键设为 Ctrl+Alt+D
使用时:选中文本 → 快捷键 → 结果自动替换选中内容(需脚本配合 stdout 输出)
这个方式绕过插件限制,也避免了浏览器粘贴往返的麻烦,但要求本地装了 Python 且
在 PATH 中。
别踩坑:URL 编解码 ≠ Base64,也 ≠ HTML 实体转换
新手常混淆这三者,导致结果完全不对:
处理的是非 ASCII 字符和保留字符,输出形如
,空格变
是二进制编码,输出是字母数字加
/
,比如
,和 URL 无关
或
是 HTML 实体,Notepad++ 的「语言 → HTML」菜单里有「Convert to Entity」,但那不是 URL 解码
如果粘贴进浏览器地址栏后乱码,优先检查是不是用了
当 URL 编码用了——这种错没法靠重试修正,得换工具重来。
真正麻烦的是混合场景:比如 JSON 字段值里嵌了 URL,需要先提取再单独编解码。这时候别指望一键全量处理,得靠正则 + 分步操作。工具只是辅助,理解边界在哪,比记住快捷键重要得多。
URL encodeURL decodeUTF-8ANSIConvert to UTF-8%E4%BD%A0%E5%A5%BDNppFTPMIME ToolsMIME ToolsPlugins → MIME ToolsMIME ToolsMimeTools.dll%PROGRAMFILES%\Notepad++\plugins\plugins\hello 世界MIME Tools → URL Encodehello%20%E4%B8%96%E7%95%8CURL DecodeMIME Tools%20/:url_codec.pyimport sys
import urllib.parse
import clipboard
if len(sys.argv) > 1 and sys.argv[1] == 'encode':
text = sys.stdin.read().strip()
print(urllib.parse.quote(text, safe=''))
elif sys.argv[1] == 'decode':
text = sys.stdin.read().strip()
print(urllib.parse.unquote(text))python "D:\path\to\url_codec.py" encodedecodepythonURL encode%E4%B8%96%20Base64+/aGVsbG8= 你Base64