开发/代码工具
五种语言浏览器内直接运行,外加编码、哈希、进制、时间戳等日常开发小工具,全部本地计算
代码运行
编码 · 哈希 · 时间
哈希计算
MD5/SHA-1/SHA-256/SHA-512 在线计算,输入即时出摘要,全程本地
Base64 编解码
文本与 Base64 互转,UTF-8 中文不乱码,支持 URL-Safe 模式
URL 编解码
百分号编码/解码,组件与整链两种模式,中文与特殊字符
Unicode 转码
\uXXXX / U+XXXX / HTML 实体互转,emoji 代理对正确处理
进制转换
2~36 进制互转,BigInt 超大整数精确无误差,支持前缀识别
转义字符处理
\n \t \uXXXX 转义/反转义,调试 JSON 字符串与日志常用
时间戳转换
Unix 时间戳与日期互转,秒/毫秒自动识别,本地与 UTC 对照
关于其它语言
本站在「能不能纯浏览器运行」这件事上做过逐项实测,结论是适合的才上,不适合的不硬凑:
| 语言 | 实现方式 | 体积 | 状态 |
|---|---|---|---|
| JavaScript | 浏览器原生,无需引擎 | 0 | 已上线 |
| TypeScript | sucrase 剥离类型后按 JS 执行 | 约 0.2MB | 已上线 |
| Lua | wasmoon(Lua 5.4 → WebAssembly) | 约 0.42MB | 已上线 |
| SQL | sql.js(SQLite → WebAssembly) | 约 0.70MB | 已上线 |
| Python | Pyodide(CPython → WebAssembly) | 约 12MB | 已上线 |
| C / C++ | 浏览器内需下载完整 Clang/LLVM 工具链 | 约 95MB | 暂不支持 |
C/C++ 之所以暂不支持:浏览器内编译需要下载约 95MB 的工具链(编译器 43MB + 链接器 23MB + 标准库头文件 29MB),且该方案基于 WASI 接口,不支持 C++ 异常与多线程, 会导致部分正常代码编译不过 —— 与其提供一个会莫名其妙报错的工具,不如先不提供。 如果你的代码需要 C/C++,建议使用本机安装的编译器。
为什么代码不会上传
本站的代码运行器把对应语言的引擎(编译成 WebAssembly 格式)下载到你的浏览器里运行。 你写下的代码、输入的测试数据、程序打印的结果,全部只在你的设备上, 服务器只负责把引擎文件发给你,不接收也不执行任何代码。 断网后(页面已打开、引擎已加载的前提下)依然可以运行代码。
顺带一提:这也是为什么这些工具不会因为别人写了死循环而变慢 —— 消耗的是每个访客自己电脑的算力。