Skip to content

szh1118/selection-toolbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Selection Toolbox - Base64/Base32/Radix

一个 Tampermonkey 用户脚本:在网页中选中文本后,自动显示浮动菜单,支持 Base64、Base32 编解码和整数进制转换,处理结果会自动复制到剪贴板。

功能

  • 选中文本后自动弹出浮动菜单
  • 菜单竖向排列,点击即执行
  • Base64 编码
  • Base64 解码
  • Base32 编码,兼容 RFC 4648
  • Base32 解码,兼容 RFC 4648
  • 整数进制转换,输出十进制、十六进制、二进制、八进制
  • 自动复制结果到剪贴板
  • 根据浏览器或系统设置自动切换浅色/深色菜单
  • 支持系统主题实时切换

安装

直接访问 Greasy Fork 上的脚本页面 安装。

使用

在任意网页中用鼠标选中文本,松开鼠标后会在鼠标附近显示菜单。

点击菜单项后,脚本会处理当前选中的文本,并将结果复制到剪贴板。

菜单会在以下情况下自动关闭:

  • 点击页面其他位置
  • 页面滚动
  • 按下 Esc

进制转换规则

进制转换只支持整数,不支持小数。

识别规则如下:

  • 0x0X 开头:按十六进制处理,例如 0xff
  • 0b0B 开头:按二进制处理,例如 0b1010
  • 0o0O 开头:按八进制处理,例如 0o755
  • 纯数字:按十进制处理,例如 1010
  • 包含 a-fA-F 且字符合法:按十六进制处理,例如 deadbeef

为了避免误判,脚本不会把无前缀的 1010 猜成二进制,也不会把无前缀的 077 猜成八进制。需要二进制或八进制时请明确使用 0b0o 前缀。

转换结果示例:

输入进制 : 16
DEC     : 255
HEX     : 0xff
BIN     : 0b11111111
OCT     : 0o377

大整数支持

进制转换使用 BigInt,可以处理超过 JavaScript 安全整数范围的大整数,不会因为 Number.MAX_SAFE_INTEGER 导致精度丢失。

注意事项

  • Base64 解码会自动去掉空白字符。
  • Base32 解码会忽略非 Base32 字符,并去掉末尾填充符 =
  • 剪贴板优先使用 Tampermonkey 的 GM_setClipboard,不可用时会回退到浏览器剪贴板 API。
  • 在某些限制较严格的网页中,浏览器剪贴板 API 可能被拦截,但 Tampermonkey API 通常仍可正常工作。

友链

  • Linux Do — 一个温暖有趣的社区

许可证

本脚本采用 CC BY-NC-SA 4.0(署名-非商业性使用-相同方式共享)许可证进行开源。

  • ✅ 可以自由使用、修改和分发
  • ✅ 必须署名(标明原作者和来源)
  • ❌ 禁止商业使用
  • 🔄 衍生作品必须使用相同许可证

About

油猴脚本,支持 Base64、Base32 编解码和整数进制转换,处理结果会自动复制到剪贴板,纯本地处理

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors