Coding Plus AI
C+代码助手 代码处理
代码分析与处理
C+工具助手 工具调用
支持调用开发者工具和图片识别
Coding Plus
你好!我是C+代码助手,专注于辅助你实现许愿式编程,可以帮你解答编程问题、分析代码逻辑、提供技术建议。
直接告诉我你想做什么吧!
preview
已选择图片

AI 驱动,75+ 开发者工具

编码解码 · 数据处理 · 图片PDF · AI智能调度,浏览器本地运行

75+ 工具 ✨ AI 驱动 免费免注册 本地处理
常用工具

URL编解码工具

快速对URL进行编码和解码,支持自动多重解密,解决中文乱码问题。

支持自动多重解密(自动处理重复编码)

使用说明

  • 在输入框中粘贴需要处理的 URL,点击"解密"进行解码,点击"加密"进行编码
  • 自动多重解密:当 URL 被多次编码时(如 %25E4%25B8%25AD),点击"解密"会自动递归解码直到还原为原始文本
  • 支持处理包含中文、日文、韩文、特殊符号等各种字符的 URL
  • 常见场景:修复浏览器地址栏中文乱码、解析分享链接中的编码参数、处理 API 返回的编码 URL

编码示例

原始文本:https://example.com/search?q=中文测试&lang=zh-CN

编码后:https://example.com/search?q=%E4%B8%AD%E6%96%87%E6%B5%8B%E8%AF%95&lang=zh-CN

编程实战:URL编码应用

在Web开发中,URL编码是一项基础技能。以下是几种常见编程语言的URL编码示例:

Python:

import urllib.parse

encoded = urllib.parse.quote("中文测试", safe='')

# 结果: '%E4%B8%AD%E6%96%87%E6%B5%8B%E8%AF%95'


JavaScript:

encodeURIComponent("中文测试");

// 结果: '%E4%B8%AD%E6%96%87%E6%B5%8B%E8%AF%95'


Java:

URLEncoder.encode("中文测试", "UTF-8");

// 结果: '%E4%B8%AD%E6%96%87%E6%B5%8B%E8%AF%95'

URL编码原理

URL编码(也称为百分号编码)是一种将URL中的特殊字符转换为%XX格式的方法,其中XX是该字符的ASCII码的十六进制表示。 这是因为URL只能包含ASCII字符集中的一部分字符。当URL中包含非ASCII字符(如中文)或特殊字符时,必须进行编码。

例如,中文字符"中"的UTF-8编码是0xE4B8AD,所以URL编码后就是%E4%B8%AD。

常见问题

  • 为什么解码后还是乱码?可能是多重编码,再次点击"解密"即可。本工具会自动检测并递归解码
  • URL编码和HTML编码有什么区别?URL编码使用%加十六进制(如%20),HTML编码使用&加名称(如 ),本工具处理的是URL编码
  • 数据安全吗?所有编解码操作在浏览器本地完成,不会上传到服务器
  • 什么时候需要URL编码?当URL参数中包含中文、空格、特殊符号等非ASCII字符时,必须进行URL编码

二维码识别工具

快速识别二维码图片,支持单个二维码图片和一张图片多个二维码批量识别。前端优先·服务端兜底

点击上传或拖拽二维码图片

支持 JPG、PNG、GIF、WebP 等格式,建议图片大小不超过 5MB

使用说明

  • 点击上传区域选择图片,或直接拖拽图片到上传区域
  • 支持 JPG、PNG、GIF、WebP 格式,建议图片大小不超过 5MB
  • 支持一张图片中包含多个二维码的批量识别(前端 jsQR + 后端 pyzbar 双引擎)
  • 识别结果可直接复制使用

二维码基础知识

二维码(QR Code)是一种二维条码,能够存储大量数据。QR码由黑白像素组成的正方形图案,通过特定的编码方式存储信息。 QR码支持多种数据类型:文本、URL、联系人信息、Wi-Fi配置等。

二维码类型识别

纯文本:Hello World

URL:https://codingplus.cn/

名片(vCard):BEGIN:VCARD...END:VCARD

Wi-Fi:WIFI:T:WPA;S:MyWiFi;P:password;;

电话:TEL:+8612345678900

邮箱:mailto:test@example.com

编程实战:二维码解码

以下是使用Python进行二维码识别的示例代码:

使用 pyzbar 库:

from pyzbar.pyzbar import decode

from PIL import Image

img = Image.open('qrcode.png')

result = decode(img)

for obj in result:

print(f"数据: {obj.data.decode('utf-8')}")

print(f"类型: {obj.type}")

常见问题

  • 识别失败怎么办?请确保图片清晰、二维码完整无遮挡,建议使用高清原图
  • 支持截图识别吗?支持,只要截图中的二维码足够清晰即可
  • 图片会上传到服务器吗?前端识别在浏览器本地完成,无需上传。如果前端识别失败,才会将图片发送到服务器进行后端识别
  • 一图多码如何识别?本工具支持同一张图片中多个二维码的批量识别,会列出所有识别结果

二维码生成器

快速生成自定义二维码,支持调整尺寸、颜色、容错等级等参数,满足各种场景需求。

256px
4

请输入文本或URL并点击生成

使用说明

  • 在输入框中输入文本或 URL,点击"生成二维码"即可
  • 可自定义尺寸(5-20模块)、边框宽度、容错等级(L/M/Q/H)
  • 可自定义前景色和背景色,生成彩色二维码
  • 生成的二维码可右键保存或长按保存为 PNG 图片

二维码容错等级详解

二维码的容错等级决定了二维码可以承受多少损坏仍能被正确识别:

  • L级(7%):最低容错率,适合内容较短且使用环境良好的场景
  • M级(15%):推荐级别,适合大多数日常使用场景
  • Q级(25%):较高容错率,适合可能有部分遮挡的场景
  • H级(30%):最高容错率,适合需要添加Logo或使用环境复杂的场景

二维码容量参考

QR码版本与容量(数字模式):

版本1 (21x21): 41个数字

版本5 (37x37): 152个数字

版本10 (57x57): 356个数字

版本25 (117x117): 1273个数字

字母数字模式容量约为数字模式的60%

汉字模式容量约为数字模式的25%

编程实战:生成二维码

以下是使用Python生成二维码的示例代码:

使用 qrcode 库:

import qrcode

qr = qrcode.QRCode(

version=1,

error_correction=qrcode.constants.ERROR_CORRECT_M,

box_size=10,

border=4,

)

qr.add_data('https://codingplus.cn/')

qr.make(fit=True)

img = qr.make_image(fill_color='black', back_color='white')

img.save('qrcode.png')

常见问题

  • 容错等级怎么选?L(7%)适合简单场景,M(15%)日常使用推荐,Q(25%)适合有遮挡场景,H(30%)适合加logo场景
  • 为什么生成失败?输入内容过长会导致二维码过于密集,建议控制在 500 字符以内
  • 可以生成带 Logo 的二维码吗?选择 H 级容错后,可在生成的二维码中心覆盖 Logo(需自行处理)
  • 二维码尺寸如何选择?尺寸越大,识别距离越远;建议打印使用时选择较大尺寸

JSON格式化工具

在线JSON格式化工具,美化、压缩和验证JSON数据,支持折叠展开功能,方便查看复杂JSON结构。

使用说明

  • 在输入框中粘贴 JSON 数据,点击"格式化美化"进行缩进排版,点击"压缩"去除空白
  • 格式化后支持折叠/展开层级,方便查看嵌套结构
  • 支持搜索功能:输入关键词高亮匹配内容,可逐个跳转
  • 一键复制格式化或压缩后的 JSON 数据

JSON语法规范

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有以下特点:

  • 键名必须使用双引号包裹
  • 字符串值必须使用双引号包裹
  • 支持的数据类型:字符串、数字、布尔值、数组、对象、null
  • 数组元素用逗号分隔,最后一个元素后面不能有逗号
  • 对象属性用逗号分隔,最后一个属性后面不能有逗号

JSON示例

{

"name": "Coding Plus",

"version": "2.0",

"features": ["URL编解码", "二维码工具", "JSON格式化"],

"settings": {

"theme": "light",

"autoSave": true

},

"count": 10000

}

编程实战:JSON处理

以下是几种编程语言处理JSON的示例:

Python:

import json

# 解析JSON

data = json.loads(json_string)

# 生成JSON(格式化)

json.dumps(data, indent=4, ensure_ascii=False)

# 生成JSON(压缩)

json.dumps(data, separators=(',', ':'))


JavaScript:

// 解析JSON

const data = JSON.parse(jsonString);

// 生成JSON(格式化)

JSON.stringify(data, null, 2);

// 生成JSON(压缩)

JSON.stringify(data);

常见问题

  • 格式化报错怎么办?请检查 JSON 语法是否正确,常见问题:末尾多余逗号、键名未用双引号、使用了单引号
  • 支持多大的 JSON?浏览器端处理,建议不超过 1MB,超大文件可能导致卡顿
  • 数据安全吗?所有格式化操作在浏览器本地完成,不会上传到服务器
  • 为什么数字变成了字符串?JSON中数字不需要引号,字符串必须有引号

文档转HTML工具

富文本编辑器,实时编辑文档并获取HTML代码,支持排版、图片、表格、代码块等。

使用说明

  • 在编辑器中直接输入或粘贴内容,支持富文本排版、插入图片、表格、代码块等
  • 点击"获取HTML"可查看编辑器内容对应的 HTML 源代码
  • 点击"复制HTML"一键复制 HTML 代码,可直接粘贴到网页或邮件中使用
  • 编辑器基于 wangEditor v5,支持常见的文字排版和格式化操作

HTML基础知识

HTML(HyperText Markup Language)是构建网页的标准标记语言。使用标签来描述网页结构和内容:

基本结构:

<h1>标题内容</h1>

<p>段落内容</p>

<a href="url">链接</a>

<img src="url" alt="描述"/>

<ul><li>列表项</li></ul>

<table><tr><td>单元格</td></tr></table>

HTML常用标签参考

  • 文本格式:<strong>粗体</strong>、<em>斜体</em>、<u>下划线</u>
  • 标题:<h1>到<h6>,级别从大到小
  • 列表:<ul>无序列表、<ol>有序列表、<li>列表项
  • 表格:<table>、<tr>行、<td>单元格、<th>表头
  • 代码:<code>单行代码、<pre>预格式化文本

编程实战:HTML生成

以下是使用Python生成HTML的示例:

Python生成HTML:

html_content = f"""

<!DOCTYPE html>

<html lang="zh-CN">

<head><title>{title}</title></head>

<body>

<h1>{heading}</h1>

<p>{content}</p>

</body>

</html>

"""

常见问题

  • 支持插入图片吗?支持,可从本地上传图片插入到文档中
  • HTML代码可以直接使用吗?可以,生成的 HTML 是标准格式,可直接嵌入网页、邮件模板等场景
  • 编辑内容会保存吗?当前不会自动保存,请及时复制 HTML 代码。刷新页面后内容将丢失
  • 生成的HTML样式如何?生成的是纯HTML结构,如需样式可添加CSS样式表

时间戳转换工具

时间戳与日期互转,自动识别秒/毫秒,支持时区选择。

选择日期时间转时间戳:

使用说明

  • 在输入框中输入时间戳,工具会自动识别秒级(10位)或毫秒级(13位)
  • 选择时区后点击"时间戳 → 日期"按钮,将时间戳转换为可读日期
  • 选择日期时间后点击"日期 → 时间戳",将日期转换为时间戳
  • 点击"复制当前时间戳"可一键获取当前秒级时间戳
  • 支持 UTC 和北京时间(UTC+8)两种时区显示

转换示例

秒级时间戳:1609459200

转换结果(UTC):2021-01-01 00:00:00 UTC

转换结果(北京时间):2021-01-01 08:00:00 (北京时间 UTC+8)


毫秒级时间戳:1609459200000

转换结果:2021-01-01 08:00:00 (北京时间 UTC+8)

时间戳原理

时间戳是从1970年1月1日00:00:00 UTC(Unix纪元)到指定时间的秒数或毫秒数。它是一种跨平台的时间表示方式,不受时区和日期格式影响,广泛用于计算机系统和数据库中。

  • 秒级时间戳(10位):精确到秒,范围约为1970-2001年至2038年(Unix时间戳溢出问题)
  • 毫秒级时间戳(13位):精确到毫秒,范围更广,常用于JavaScript等语言

时区知识

UTC(协调世界时)是世界标准时间,北京时间(UTC+8)比UTC早8小时。例如,UTC时间00:00对应北京时间08:00。

编程实战:时间戳处理

Python:

import time

timestamp = int(time.time()) # 获取秒级时间戳

dt = datetime.datetime.fromtimestamp(timestamp)

# 转换为日期时间


JavaScript:

const ts = Date.now(); // 获取毫秒级时间戳

const dt = new Date(ts); // 转换为Date对象

Base64编解码工具

文本与Base64互转,支持UTF-8中文。

使用说明

  • 在输入框中输入文本,点击"编码"将文本转换为Base64字符串
  • 在输入框中输入Base64字符串,点击"解码"还原为原始文本
  • 完整支持UTF-8中文编码,不会出现乱码
  • 点击"复制"按钮可一键复制结果到剪贴板
  • 所有操作在浏览器本地完成,数据不会上传到服务器

转换示例

原始文本:Hello World

编码后:SGVsbG8gV29ybGQ=


中文文本:你好,世界

编码后:5L2g5aW977yM5LiW55WM

Base64原理

Base64是一种将二进制数据编码为ASCII字符串的方法。它使用64个可打印字符(A-Z、a-z、0-9、+、/)来表示数据,每个字符代表6位二进制数据。

  • 编码过程:将原始数据按3字节(24位)分组,每组拆分为4个6位单元,每个单元对应一个Base64字符
  • 填充:如果原始数据长度不是3的倍数,会使用=号进行填充
  • 数据膨胀:Base64编码后数据体积约为原始数据的133%

应用场景

  • 在URL中传输二进制数据(如图片、文件)
  • 在JSON或XML中嵌入二进制数据
  • 邮件附件编码(MIME标准)
  • 数据存储(如数据库中存储图片)

编程实战:Base64编解码

Python:

import base64

encoded = base64.b64encode("中文".encode()).decode()

decoded = base64.b64decode(encoded).decode()


JavaScript:

btoa("Hello"); // 编码(仅ASCII)

atob("SGVsbG8="); // 解码

// UTF-8中文需要先编码

btoa(unescape(encodeURIComponent("中文")));

MD5/SHA加密工具

输入文本生成哈希值,支持MD5、SHA1、SHA256、SHA512。

使用说明

  • 在输入框中输入要加密的文本
  • 选择哈希算法:MD5(128位)、SHA1(160位)、SHA256(256位)、SHA512(512位)
  • 勾选"大写输出"可切换哈希值的大小写格式
  • 点击"生成哈希"按钮计算结果,支持一键复制
  • MD5已不推荐用于安全场景,建议使用SHA256或更高

加密示例

输入:hello

MD5:5d41402abc4b2a76b9719d911017c592

SHA1:aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

SHA256:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

SHA512:9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043

哈希算法对比

算法 输出长度 安全性 适用场景
MD5128位(32字符)已破解文件校验、非安全场景
SHA1160位(40字符)已破解Git提交校验
SHA256256位(64字符)安全密码存储、数字签名
SHA512512位(128字符)安全高安全要求场景

哈希算法原理

哈希函数将任意长度的输入转换为固定长度的输出(哈希值)。具有以下特点:

  • 单向性:无法从哈希值还原原始数据
  • 确定性:相同输入总是产生相同输出
  • 雪崩效应:输入的微小变化会导致输出的巨大变化

编程实战:哈希计算

Python:

import hashlib

md5 = hashlib.md5("text".encode()).hexdigest()

sha256 = hashlib.sha256("text".encode()).hexdigest()


JavaScript(Web Crypto):

const buf = new TextEncoder().encode("text");

crypto.subtle.digest("SHA-256", buf).then(hash => {

// 转换为十六进制

});

正则表达式测试工具

实时高亮匹配结果,显示匹配数量与内容列表,内置常用正则速查。

匹配 0 处

使用说明

  • 在正则表达式输入框中输入 pattern,可设置标志位(g全局、i忽略大小写、m多行)
  • 在测试文本框中输入待匹配文本,结果实时更新
  • 匹配结果会高亮显示,并列出所有匹配项的内容
  • 下拉菜单提供手机号、邮箱、身份证号、IP地址、URL等常用正则速查
  • 正则无效时会显示错误信息,请检查语法

匹配示例

正则表达式:\d{3,4}-\d{7,8}

标志位:g

测试文本:联系电话:010-12345678 和 021-87654321

匹配结果:010-12345678, 021-87654321(共2处)

正则表达式语法速查

字符类:

. - 匹配任意单个字符(除换行符)

\d - 匹配数字 [0-9]

\w - 匹配单词字符 [a-zA-Z0-9_]

\s - 匹配空白字符(空格、制表符、换行等)

[abc] - 匹配a、b或c中的任意一个

[^abc] - 匹配除a、b、c外的任意字符

量词:

* - 匹配0次或多次

+ - 匹配1次或多次

? - 匹配0次或1次

{n} - 精确匹配n次

{n,m} - 匹配n到m次

定位符:

^ - 匹配字符串开头

$ - 匹配字符串结尾

\b - 匹配单词边界

分组:

(abc) - 捕获分组

(?:abc) - 非捕获分组

特殊:

| - 或运算

\n - 反向引用第n个捕获组

常用正则表达式

场景 正则表达式
手机号1[3-9]\d{9}
邮箱[\w.-]+@[\w.-]+\.\w+
身份证号\d{17}[\dXx]
IP地址\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
URL链接https?://[\w.-]+(?:/[\w./-]*)?
日期格式\d{4}-\d{2}-\d{2}

编程实战:正则表达式应用

JavaScript:

const regex = /\d+/g;

const str = "价格:199元,原价299元";

const matches = str.match(regex); // ['199', '299']


Python:

import re

pattern = r'\d+'

matches = re.findall(pattern, "价格:199元")

常见问题

  • 为什么正则不匹配?检查是否需要加g标志(全局匹配),是否有转义问题
  • 如何匹配中文?使用 [\u4e00-\u9fa5] 匹配中文汉字
  • 贪婪匹配和非贪婪匹配的区别?默认是贪婪匹配(尽可能多匹配),加?变为非贪婪(尽可能少匹配)
  • 什么是反向引用?使用 \1 引用第一个捕获组的内容,用于匹配重复模式

UUID生成工具

一键生成UUID v4,支持批量、大小写与横线切换。

使用说明

  • 设置生成数量(1-100),可批量生成UUID v4
  • 勾选"大写"将UUID转为大写格式
  • 勾选"带横线"保留标准UUID格式(8-4-4-4-12),取消则输出连续字符串
  • 点击"生成UUID"按钮生成,支持一键复制全部结果
  • UUID v4基于随机数生成,冲突概率极低

UUID格式示例

标准格式(带横线):

550e8400-e29b-41d4-a716-446655440000

不带横线:

550e8400e29b41d4a716446655440000

大写格式:

550E8400-E29B-41D4-A716-446655440000

UUID版本介绍

版本 生成方式 特点 适用场景
UUID v1时间戳+MAC地址可追溯时间和设备,但可能泄露MAC分布式系统
UUID v3命名空间+MD5哈希相同输入产生相同UUID确定性标识
UUID v4随机数完全随机,不可预测通用场景(本工具)
UUID v5命名空间+SHA-1哈希安全性更高的确定性UUID安全敏感场景

UUID结构

UUID由32个十六进制字符组成,分为5段(8-4-4-4-12),共128位:

  • 时间戳低位(8位):UUID v1的时间戳低32位
  • 时间戳中位(4位):UUID v1的时间戳中16位
  • 时间戳高位+版本(4位):高12位为时间戳,低4位为版本号
  • 变体+时钟序列(4位):高2位为变体,低14位为时钟序列
  • 节点ID(12位):MAC地址或随机数

编程实战:生成UUID

Python:

import uuid

uid = uuid.uuid4() # UUID v4

str(uid) # '550e8400-e29b-41d4-a716-446655440000'


JavaScript:

crypto.randomUUID(); // 现代浏览器

// 或使用 uuid 库

import { v4 as uuidv4 } from 'uuid';

uuidv4(); // 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'

常见问题

  • UUID会重复吗?理论上有极小概率重复,但实际应用中几乎不可能,可视为唯一
  • UUID v4和v1哪个好?v4完全随机,安全性更高;v1可追溯但可能泄露MAC地址
  • 什么时候使用UUID?数据库主键、分布式系统ID、临时token、文件名等
  • 可以自定义UUID的一部分吗?可以,但不建议,可能破坏唯一性

颜色格式转换工具

RGB / HEX / HSL 互转,带颜色预览与调色板拾色。

使用说明

  • 点击颜色块或调色板拾取颜色,自动同步到所有格式
  • HEX格式:#RRGGBB,如 #3b82f6
  • RGB格式:rgb(R, G, B),如 rgb(59, 130, 246)
  • HSL格式:hsl(H, S%, L%),如 hsl(217, 91%, 60%)
  • 修改任意格式的输入框,其他格式会自动同步转换

转换示例

HEX:#3b82f6

RGB:rgb(59, 130, 246)

HSL:hsl(217, 91%, 60%)

颜色预览:

颜色模型原理

颜色模型是描述颜色的数学方法,不同模型适用于不同场景:

  • RGB模型:基于红(Red)、绿(Green)、蓝(Blue)三原色混合。每个分量范围0-255,适合屏幕显示
  • HEX模型:RGB的十六进制表示,#RRGGBB。每个分量用两位十六进制数表示(00-FF)
  • HSL模型:基于色相(Hue)、饱和度(Saturation)、亮度(Lightness)。色相0-360度,饱和度和亮度0%-100%
  • HSV/HSB:与HSL类似,但亮度分量定义不同,常用于图像处理

常用颜色参考

颜色名称 HEX RGB 预览
红色#ef4444rgb(239,68,68)
绿色#22c55ergb(34,197,94)
蓝色#3b82f6rgb(59,130,246)
橙色#f97316rgb(249,115,22)
紫色#8b5cf6rgb(139,92,246)
青色#06b6d4rgb(6,182,212)

编程实战:颜色转换

JavaScript:

// HEX转RGB

function hexToRgb(hex) {

const r = parseInt(hex.slice(1,3), 16);

const g = parseInt(hex.slice(3,5), 16);

const b = parseInt(hex.slice(5,7), 16);

return `rgb(${r}, ${g}, ${b})`;

}


Python:

from PIL import ImageColor

rgb = ImageColor.getrgb('#3b82f6')

常见问题

  • HEX格式支持简写吗?支持,如 #f00 等同于 #ff0000
  • RGB和RGBA有什么区别?RGBA多了Alpha透明度通道(0-1)
  • HSL和HSV哪个更好用?HSL更适合调整亮度,HSV更适合图像处理
  • 为什么同样的颜色在不同设备上显示不同?这是色彩空间问题,不同设备的色彩还原能力不同

进制转换工具

二进制/八进制/十进制/十六进制互转,输入任意进制自动转换其他三种。

使用说明

  • 在任意进制输入框中输入数值,其他三个进制自动同步转换
  • 二进制仅包含0和1,八进制包含0-7,十六进制包含0-9和A-F
  • 支持大数转换,但超过JavaScript安全整数范围(2^53)可能精度丢失
  • 如果输入包含非法字符会提示错误
  • 十六进制输入不区分大小写

转换示例

十进制:255

二进制:11111111

八进制:377

十六进制:FF

进制转换原理

进制(Base)是表示数值的方式。任意进制转换为十进制的通用公式:

d_n * base^n + ... + d_1 * base^1 + d_0 * base^0

示例:二进制 1010 转十进制

1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 8 + 0 + 2 + 0 = 10

示例:十六进制 FF 转十进制

15*16^1 + 15*16^0 = 240 + 15 = 255

常用进制对照表

十进制 二进制 八进制 十六进制
0000
1111
10101012A
16100002010
25511111111377FF
256100000000400100

编程实战:进制转换

JavaScript:

// 十进制转其他进制

(255).toString(2); // '11111111'

(255).toString(8); // '377'

(255).toString(16); // 'ff'

// 其他进制转十进制

parseInt('11111111', 2); // 255

parseInt('FF', 16); // 255


Python:

// 十进制转其他进制

bin(255) # '0b11111111'

oct(255) # '0o377'

hex(255) # '0xff'

// 其他进制转十进制

int('11111111', 2) # 255

int('FF', 16) # 255

常见问题

  • 二进制为什么只有0和1?二进制是计算机最基础的表示方式,只有两种状态:开(1)和关(0)
  • 八进制和十六进制有什么用?它们是二进制的简写形式,八进制1位=二进制3位,十六进制1位=二进制4位
  • 负数如何表示?通常使用补码表示负数,最高位为符号位
  • 什么是安全整数范围?JavaScript中超过2^53-1的整数可能丢失精度,需使用BigInt处理大数

图片转Base64工具

从相册选择图片,输出Base64字符串,支持预览与复制。

点击上传或拖拽图片到此处

支持 JPG、PNG、GIF、WebP 等格式

使用说明

  • 点击上传区域选择图片,或直接拖拽图片到上传区域
  • 支持 JPG、PNG、GIF、WebP 等常见图片格式
  • 上传后自动生成Base64字符串(Data URL格式)
  • 可预览原图,并显示文件名、大小、类型信息
  • 点击"复制Base64"一键复制结果,可用于HTML img标签的src属性

Data URL格式

data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...

格式说明:

data:[][;base64],

mediatype示例:

image/png - PNG格式图片

image/jpeg - JPEG格式图片

image/gif - GIF格式图片

image/webp - WebP格式图片

应用场景

  • HTML嵌入图片:<img src="data:image/png;base64,xxx">
  • CSS背景图片:background-image: url(data:image/png;base64,xxx)
  • JSON数据传输:在API响应中直接返回图片数据
  • 邮件内嵌图片:避免附件,直接嵌入HTML邮件
  • Canvas导出:将Canvas内容导出为图片

Base64编码特点

  • 数据膨胀:编码后体积约为原始图片的133%
  • 无需额外请求:内嵌图片减少HTTP请求数
  • 不缓存:内嵌图片无法被浏览器单独缓存
  • 适合小图片:建议用于10KB以下的小图标、logo等

编程实战:图片转Base64

JavaScript(浏览器):

const reader = new FileReader();

reader.onload = (e) => {

const base64 = e.target.result;

// 使用base64

};

reader.readAsDataURL(file);


Python:

with open('image.png', 'rb') as f:

base64_str = base64.b64encode(f.read()).decode()

常见问题

  • 图片太大怎么办?大图片建议使用传统URL引用方式,避免页面加载过慢
  • 可以解码Base64回图片吗?可以,使用Base64编解码工具解码后保存
  • 支持动图GIF吗?支持,完整保留动画帧
  • 数据安全吗?所有操作在浏览器本地完成,图片不会上传到服务器

JWT解码工具

输入JWT Token,分别展示Header和Payload,解析过期时间。

Header

                
Payload

                

使用说明

  • 粘贴完整的JWT Token(格式为 xxxxx.yyyyy.zzzzz)
  • 点击"解码"按钮,分别展示Header和Payload
  • Header和Payload会以JSON格式化显示,方便阅读
  • 如果Payload中包含exp字段,会自动解析过期时间并提示是否已过期
  • 本工具仅解码JWT,不验证签名,不会泄露Token信息到服务器

JWT结构详解

JWT格式:Header.Payload.Signature

Header(头部):

{

"alg": "HS256", // 签名算法

"typ": "JWT" // 令牌类型

}

Payload(载荷):

{

"sub": "1234567890", // 主题(用户ID)

"name": "张三", // 用户名

"iat": 1516239022, // 签发时间

"exp": 1516242622 // 过期时间

}

Signature(签名):

HMACSHA256(base64UrlEncode(Header) + "." + base64UrlEncode(Payload), secret)

Payload常用字段

字段 含义 说明
ississuer签发者
subsubject主题(通常是用户ID)
audaudience受众
expexpiration过期时间(时间戳)
nbfnot before生效时间
iatissued at签发时间
jtiJWT ID唯一标识符

签名算法

  • HS256:HMAC-SHA256,使用对称密钥
  • HS384:HMAC-SHA384,使用对称密钥
  • HS512:HMAC-SHA512,使用对称密钥
  • RS256:RSA-SHA256,使用非对称密钥(私钥签名,公钥验证)
  • ES256:ECDSA-SHA256,使用椭圆曲线密钥

编程实战:JWT处理

Python(PyJWT):

import jwt

# 解码(不验证签名)

payload = jwt.decode(token, options={"verify_signature": False})


JavaScript(jwt-decode):

import jwtDecode from 'jwt-decode';

const payload = jwtDecode(token);

常见问题

  • 为什么Payload可以直接解码?因为JWT的Payload只是Base64编码,不是加密,任何人都可以解码查看内容
  • JWT安全吗?安全性依赖于签名验证,确保数据未被篡改。不要在Payload中存放敏感信息
  • Token过期了怎么办?需要重新获取Token(通常通过刷新Token机制)
  • 如何验证签名?需要使用对应的密钥(对称密钥或公钥)进行验证

ASCII码查询工具

字符转ASCII码、ASCII码转字符,附带完整ASCII码表。

完整ASCII码表

十进制十六进制字符名称

使用说明

  • 在"输入字符"框中输入字符,点击"字符 → ASCII"查看对应ASCII码
  • 在"输入ASCII码"框中输入数字(支持逗号分隔多个),点击"ASCII → 字符"
  • 底部附完整ASCII码表,包含十进制、十六进制、字符和名称
  • 支持可打印字符(32-126)和控制字符(0-31)

ASCII码表详解

ASCII范围:0-127(共128个字符)

控制字符(0-31 和 127):

0 - NUL (空字符)

7 - BEL (响铃)

8 - BS (退格)

9 - HT (水平制表符)

10 - LF (换行)

13 - CR (回车)

27 - ESC (转义)

127- DEL (删除)

可打印字符(32-126):

32 - 空格

48-57 - 数字 0-9

65-90 - 大写字母 A-Z

97-122 - 小写字母 a-z

33-47, 58-64, 91-96, 123-126 - 特殊符号

ASCII扩展(128-255)

ASCII码仅定义了0-127。128-255被称为扩展ASCII或ISO-8859-1,包含特殊符号、制表符、图形字符和非英语字符。但现代计算机普遍使用UTF-8编码,支持全球所有语言。

常用ASCII码速查

字符 十进制 十六进制 说明
空格3220Space
0-948-5730-39数字
A-Z65-9041-5A大写字母
a-z97-12261-7A小写字母
\n100A换行符
\r130D回车符

编程实战:ASCII操作

JavaScript:

"A".charCodeAt(0); // 65

String.fromCharCode(65); // "A"


Python:

ord("A") # 65

chr(65) # "A"

常见问题

  • 中文有ASCII码吗?没有,ASCII只定义0-127,中文使用Unicode编码
  • ASCII和Unicode有什么关系?ASCII是Unicode的子集,Unicode包含ASCII
  • 如何判断字符是大写还是小写?大写字母ASCII码在65-90之间,小写在97-122之间
  • 什么是Unicode码点?每个字符在Unicode中的唯一编号,如"A"是U+0041,"中"是U+4E2D

字数统计工具

统计字符数、单词数、行数,支持中英文混排。

0
字符数
0
不含空格
0
单词数
0
行数
0
字节数

使用说明

  • 在文本框中输入或粘贴文本,统计结果实时更新
  • 字符数:包含空格在内的所有字符
  • 不含空格:去除所有空白字符后的字符数
  • 单词数:英文按空格分词,中文按字符计数
  • 行数:按换行符分割,字节数按UTF-8编码计算

统计示例

输入文本:

Hello World!

你好,世界!

统计结果:

字符数:22(含空格和换行)

不含空格:18

单词数:4(Hello, World, 你好, 世界)

行数:2

字节数:32(英文1字节/字符,中文3字节/字符)

统计规则详解

  • 字符数:包含所有字符,包括空格、制表符、换行符、标点符号等
  • 不含空格:去除空格、制表符、换行符、回车符后的字符数
  • 单词数:英文按空白字符分割,中文每个汉字算一个单词
  • 行数:按换行符(\n)分割,空行也计入
  • 字节数:按UTF-8编码计算,ASCII字符1字节,中文3字节,emoji通常4字节

应用场景

  • 文章写作:检查文章字数是否符合要求
  • SEO优化:确保标题和描述长度在搜索引擎限制范围内
  • 代码注释:统计文档注释长度
  • 数据库存储:预估文本存储所需空间
  • 表单验证:检查用户输入是否在限制范围内

编程实战:字数统计

JavaScript:

// 字符数

text.length;

// 不含空格

text.replace(/\s/g, '').length;

// 字节数(UTF-8)

new Blob([text]).size;


Python:

len(text) # 字符数

len(text.encode()) # 字节数

常见问题

  • 中英文混排如何统计?中文按字符计数,英文按单词计数
  • 表情符号占几个字符?某些表情符号由多个Unicode码点组成,可能占多个字符位置
  • 字节数为什么比字符数多?因为UTF-8编码中,非ASCII字符需要多个字节
  • 为什么空行也算行数?空行也是一行,符合大多数编辑器的统计方式

HTML转义工具

HTML特殊字符(< > & " ')转义与反转义。

使用说明

  • 在输入框中输入文本,点击"转义"将HTML特殊字符转换为实体
  • 点击"反转义"将HTML实体还原为原始字符
  • 转义的字符包括:<(<) >(>) &(&) "(") '(')
  • 适用于在网页中显示HTML代码、防止XSS攻击等场景
  • 点击"复制"按钮一键复制结果

转义示例

原始文本:

<div class="container">Hello & World</div>

转义后:

&lt;div class=&quot;container&quot;&gt;Hello &amp; World&lt;/div&gt;

HTML实体速查表

字符 命名实体 数字实体 说明
&&&和号
<<<小于号
>>>大于号
"""双引号
'''单引号
空格  不换行空格

安全知识:XSS防护

XSS(跨站脚本攻击)是一种常见的Web安全漏洞。当用户输入的内容包含恶意脚本时,如果不进行转义直接渲染到页面中,就会执行恶意代码。

  • 存储型XSS:恶意代码存储在数据库中,每次页面加载都会执行
  • 反射型XSS:恶意代码通过URL参数传递,一次性执行
  • DOM型XSS:恶意代码通过JavaScript操作DOM执行

编程实战:HTML转义

JavaScript:

function escapeHtml(text) {

const div = document.createElement('div');

div.textContent = text;

return div.innerHTML;

}


Python(jinja2自动转义):

常见问题

  • 什么时候需要转义?当用户输入内容需要在HTML中显示时,必须进行转义
  • 为什么&必须转义?因为&是实体的开始标志,不转义会导致后续实体无法正确解析
  • 引号需要转义吗?当内容放在HTML属性中时,引号必须转义
  • CSS和JavaScript需要转义吗?需要,各有不同的转义规则,需要特别处理

Lorem占位文本生成

生成随机英文占位段落,可选段落数量。

使用说明

  • 设置段落数量(1-20),点击"生成"创建随机英文占位文本
  • 生成的文本为经典的Lorem Ipsum无意义拉丁文
  • 常用于设计稿填充、排版测试、占位演示等场景
  • 点击"复制"按钮一键复制全部生成的文本

生成示例

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem Ipsum由来

Lorem Ipsum起源于公元前45年的古罗马哲学家西塞罗(Cicero)的著作《论神性》(De Finibus Bonorum et Malorum)。"Lorem ipsum dolor sit amet" 这句话的意思是"痛苦本身就是快乐"。15世纪,一位不知名的印刷商重新排版了这段文字,使其成为现代排版行业的标准占位文本。

应用场景

  • 设计稿填充:在UI设计中填充文本,测试排版效果
  • 原型演示:在产品原型中展示文本区域
  • 开发测试:测试文本渲染、溢出处理、响应式布局
  • 印刷排版:设计师测试字体、行距、字距
  • 网站模板:提供给用户预览网站样式

常见占位文本类型

类型 特点 适用场景
Lorem Ipsum经典拉丁文,无意义但看起来像真文本通用设计场景
中文占位文本使用中文字符,适合中文排版中文网站设计
Bacon Ipsum关于培根的趣味文本食品相关网站
Cupcake Ipsum关于甜点的趣味文本甜点店网站

编程实战:生成Lorem文本

Python:

from lorem_text import lorem

lorem.paragraph() # 一个段落

lorem.paragraphs(3) # 三个段落


JavaScript(lorem-ipsum库):

import { generate } from 'lorem-ipsum';

generate({ count: 3, units: 'paragraphs' });

常见问题

  • Latin文本有意义吗?没有,它是打乱的拉丁文片段,看起来像真文本但无实际含义
  • 为什么不用真实文本?真实文本可能分散注意力,占位文本让设计师专注于排版
  • 支持中文占位文本吗?本工具生成英文,中文项目建议使用"中文占位文本"或真实中文内容
  • 最多支持多少段落?本工具限制20段,如需更多可多次生成

URL拆分编辑拼接工具

输入URL地址,自动拆分为协议、域名、路径、查询参数,每个字段可修改,修改后实时拼接为完整URL。

拼接结果

使用说明

  • 在输入框中输入完整URL,点击"拆分"自动解析各组成部分
  • 可分别编辑协议、主机名、端口、路径、锚点
  • 查询参数以 key-value 行式展示,可增删改
  • 修改任意字段后,拼接结果实时更新
  • 点击"复制结果"一键复制重新拼接的完整URL

URL结构详解

完整URL格式:

scheme://user:pass@host:port/path?query#fragment

示例:

https://admin:password@codingplus.cn:443/api/users?id=1&name=test#section

各部分说明:

scheme - 协议 (http, https, ftp)

user:pass - 用户认证信息(可选)

host - 主机名/域名

port - 端口号(可选,默认80/443)

path - 路径

query - 查询参数(key=value格式)

fragment - 锚点(页面内定位)

常见端口号

端口号 协议 说明
80HTTP默认HTTP端口
443HTTPS默认HTTPS端口
8080HTTP常用HTTP备用端口
21FTP文件传输协议
22SSH安全外壳协议

应用场景

  • 调试API:快速修改API参数测试不同场景
  • URL优化:清理无用参数,优化URL结构
  • 批量处理:批量修改多个URL的主机名或路径
  • 安全审计:检查URL中是否包含敏感信息
  • SEO优化:优化URL路径和参数结构

编程实战:URL解析与构建

JavaScript:

const url = new URL('https://example.com/path?a=1');

url.searchParams.set('b', '2'); // 添加参数

url.pathname = '/new-path'; // 修改路径

url.toString(); // 获取完整URL


Python:

from urllib.parse import urlparse, urlunparse

parsed = urlparse(url_string)

# 修改各部分后重新拼接

url = urlunparse(parsed._replace(path='/new'))

常见问题

  • 为什么端口是空的?HTTP默认80端口、HTTPS默认443端口,浏览器会省略显示
  • 锚点会发送到服务器吗?不会,锚点仅在浏览器端处理,用于页面内导航
  • URL可以包含中文吗?可以,但需要进行URL编码
  • 查询参数顺序重要吗?通常不重要,但某些API可能有要求

JSON对比工具

并排比较两个JSON数据,高亮显示新增、删除、修改的差异内容。

使用说明

  • 在两个输入框中分别粘贴要对比的JSON数据
  • 点击"对比差异"按钮进行比较
  • 差异结果会以颜色高亮显示:绿色表示新增,红色表示删除,黄色表示修改
  • 点击"清空"按钮可重置所有输入和结果

JSON转义工具

处理JSON字符串中的特殊字符转义与反转义,支持双引号、反斜杠、换行符等。

使用说明

  • 在输入框中输入需要处理的JSON字符串
  • 点击"转义"可将特殊字符(双引号、反斜杠、换行等)转为转义序列
  • 点击"反转义"可将转义序列还原为原始字符
  • 适用于JSON字符串嵌入其他JSON或代码场景

JSON转CSV工具

将JSON对象数组转换为标准CSV格式,自动提取表头并展平嵌套结构。

使用说明

  • 输入JSON对象数组,如 [{"name":"张三","age":25}]
  • 点击"转换为CSV"自动提取表头并生成CSV格式
  • 支持自动展平一层嵌套结构
  • 转换结果可直接复制到Excel等工具使用

CSV转JSON工具

将CSV数据转换为JSON对象数组,自动识别表头并解析每行数据。

使用说明

  • 输入CSV数据,第一行为表头,如 name,age 回车 张三,25
  • 点击"转换为JSON"自动识别表头并解析每行数据
  • 支持逗号分隔和制表符分隔的CSV格式
  • 输出标准JSON对象数组格式

JSON Schema生成器

根据JSON数据自动生成JSON Schema,支持类型推断、嵌套结构与数组元素分析。

使用说明

  • 在输入框中输入JSON数据,点击"生成"自动推导生成JSON Schema
  • 根据数据类型自动推断string、number、boolean、array、object等类型
  • 生成的Schema可用于数据验证和接口文档
  • 支持编辑生成的Schema并导出

JSON转代码工具

将JSON数据转换为各类编程语言的结构体/类型定义代码,支持TypeScript、Go、Python、Java、Rust、C#等。

使用说明

  • 在输入框中粘贴JSON数据
  • 从下拉菜单选择目标编程语言(TypeScript、Go、Python、Java、Rust、C#)
  • 点击"生成代码"自动生成对应语言的结构体/类型定义
  • 支持嵌套对象和数组的类型推断

JSONPath测试器

使用JSONPath表达式从JSON数据中提取指定节点,支持$.store.book[*].author等语法。

使用说明

  • 在输入框中输入JSON数据,在表达式框中输入JSONPath表达式
  • 点击"执行"查看匹配结果
  • 支持标准JSONPath语法,如$.store.book[*].author
  • 匹配结果高亮显示在原始JSON中

大小写转换器

在线文本大小写转换工具,支持大写、小写、标题、句首、驼峰、蛇形、短横线等多种格式互转。

使用说明

  • 在输入框中输入需要转换的文本
  • 选择目标格式:大写、小写、标题、句首、驼峰、蛇形、短横线
  • 点击对应按钮即可实时转换并显示结果
  • 驼峰和蛇形转换适用于编程变量命名场景

Slug生成器

将文本转换为URL友好的Slug,支持短横线和下划线分隔符,适用于生成网页URL、文件名等。

使用说明

  • 输入需要生成Slug的文本(支持中文,自动转拼音)
  • 选择分隔符:短横线(-)或下划线(_)
  • 点击"生成Slug"自动转换为URL友好格式
  • 适用于生成网页URL、文件名、锚点链接等场景

重复行删除器

去除文本中的重复行,支持忽略大小写、去除首尾空格、删除空行、排序等选项。

使用说明

  • 在输入框中输入需要去重的文本,每行一条
  • 可勾选"忽略大小写"、"去除首尾空格"、"删除空行"、"排序"等选项
  • 点击"去重"按钮去除重复行
  • 结果会显示去重后的行数和删除的重复行数

SQL格式化工具

在线SQL格式化工具,美化、压缩SQL语句,支持MySQL、PostgreSQL、SQL Server、Oracle、SQLite等多种方言。

使用说明

  • 在输入框中粘贴需要格式化的SQL语句
  • 从下拉菜单选择SQL方言(MySQL、PostgreSQL、SQL Server等)
  • 点击"格式化美化"进行缩进排版,点击"压缩"去除空白
  • 支持SELECT、INSERT、UPDATE、DELETE等常见语句格式化

JavaScript格式化工具

在线JavaScript代码格式化工具,美化和压缩JS代码,提升代码可读性。

使用说明

  • 在输入框中粘贴需要格式化的JavaScript代码
  • 点击"格式化美化"进行缩进排版,提升可读性
  • 点击"压缩"去除空白和注释,减小文件体积
  • 支持ES6+语法,包括箭头函数、模板字符串等

CSS格式化工具

在线CSS格式化工具,美化和压缩CSS样式代码,支持缩进对齐和压缩去注释。

使用说明

  • 在输入框中输入CSS代码,点击"格式化美化"进行缩进排版
  • 支持CSS3语法,包括媒体查询、变量、嵌套规则等
  • 点击"压缩"可去除注释和空白,减小文件体积
  • 格式化后代码自动语法高亮

HTML格式化工具

在线HTML格式化工具,美化和压缩HTML代码,自动缩进和标签对齐。

使用说明

  • 在输入框中粘贴需要格式化的HTML代码
  • 点击"格式化美化"进行自动缩进和标签对齐
  • 点击"压缩"去除空白和注释,减小文件体积
  • 支持HTML5标签和属性的正确格式化

XML格式化工具

在线XML格式化工具,美化和压缩XML数据,自动缩进标签层级。

使用说明

  • 在输入框中粘贴需要格式化的XML数据
  • 点击"格式化美化"进行自动缩进标签层级
  • 点击"压缩"去除空白,生成紧凑XML
  • 支持XML声明、命名空间、CDATA等特性的正确处理

文本对比工具

对比两段文本的差异,支持逐行、逐词、逐字符对比模式,高亮显示差异部分。

使用说明

  • 在两个输入框中分别输入原始文本和修改后文本,点击"对比"查看差异
  • 支持逐行、逐词、逐字符三种对比模式
  • 高亮显示新增、删除、修改的差异部分
  • 适用于文本版本对比和变更审查

代码对比工具

对比两段代码的差异,支持多种编程语言语法高亮,方便查看代码修改。

使用说明

  • 在两个输入框中分别粘贴原始代码和修改后代码
  • 选择编程语言以启用语法高亮
  • 点击"对比"查看差异,新增行绿色高亮,删除行红色高亮
  • 支持JavaScript、Python、Java、C++、HTML、CSS、JSON等语言

Markdown编辑器

在线Markdown编辑器,实时预览渲染效果,支持导出HTML和下载.md文件。

使用说明

  • 在输入框中输入Markdown文本,实时预览渲染效果
  • 支持标题、列表、代码块、表格、链接等常用Markdown语法
  • 点击"导出HTML"可将渲染结果保存为HTML文件
  • 点击"下载.md"可将原始Markdown保存为文件

数字转英文单词

将数字转换为英文单词表达,支持普通单词、序数、美元、欧元、人民币等多种格式。

使用说明

  • 在输入框中输入数字,如 12345
  • 选择输出格式:英文单词、序数、美元、欧元、人民币
  • 点击"转换"查看对应的英文表达
  • 支持整数和小数的转换

文本二进制转换

文本与二进制、十六进制互转工具,支持文本转二进制、二进制转文本、文本转十六进制、十六进制转文本。

使用说明

  • 在输入框中输入需要转换的文本或二进制/十六进制数据
  • 选择转换模式:文本→二进制、二进制→文本、文本→十六进制、十六进制→文本
  • 点击"转换"即可获得结果
  • 二进制以空格分隔每个字节,十六进制以空格分隔每两个字符

文本分析器

在线文本分析工具,统计字符数、单词数、行数、句子数、段落数等,帮助快速了解文本结构。

使用说明

  • 在输入框中输入需要分析的文本
  • 点击"分析"统计字符数、单词数、行数、句子数、段落数
  • 同时显示平均词长、阅读时间等辅助信息
  • 支持中英文混合文本的统计分析

XML转JSON

将XML字符串转换为JSON格式,支持属性和嵌套节点。

使用说明

  • 在输入框中粘贴XML数据
  • 点击"转换"将XML转为JSON格式
  • 支持XML属性和嵌套节点的正确解析
  • 属性以@前缀表示,文本内容以#text键表示

JSON转XML

将JSON对象转换为XML字符串,可指定根节点名称。

使用说明

  • 在输入框中输入JSON对象
  • 可指定根节点名称,默认为root
  • 点击"转换"生成格式化的XML字符串
  • 支持嵌套对象和数组的正确转换

YAML转JSON

将YAML配置文件转换为JSON格式。

使用说明

  • 在输入框中粘贴YAML配置内容
  • 点击"转换"将YAML转为JSON格式
  • 支持YAML的列表、对象、多级嵌套等特性
  • 适用于将YAML配置迁移到JSON格式的场景

JSON转YAML

将JSON对象转换为YAML格式,常用于配置文件。

使用说明

  • 在输入框中输入JSON数据,点击"转换"生成YAML格式
  • 生成的YAML格式规范,缩进清晰
  • 支持嵌套对象和数组的正确转换
  • 适用于编写Kubernetes、Docker Compose等配置

HTML转Markdown

将HTML代码转换为Markdown格式文本。

使用说明

  • 在输入框中粘贴HTML代码
  • 点击"转换"将HTML转为Markdown格式
  • 支持标题、段落、列表、链接、图片、表格等HTML标签
  • 适用于将网页内容转为Markdown文档的场景

Markdown转HTML

将Markdown文本转换为HTML代码。

使用说明

  • 在输入框中输入Markdown文本
  • 点击"转换"将Markdown转为HTML代码
  • 支持标题、列表、代码块、表格、链接、图片等语法
  • 转换结果可直接复制到网页或邮件中使用

JSON转TOON

将JSON数据转换为TOON格式(树状对象标记法)。

使用说明

  • 在输入框中输入JSON数据
  • 点击"转换"将JSON转为TOON格式(树状对象标记法)
  • TOON格式以缩进表示层级关系,更易阅读
  • 支持嵌套对象和数组的转换

TOON转JSON

将TOON格式(树状对象标记法)转换回JSON。

使用说明

  • 在输入框中输入TOON格式数据
  • 点击"转换"将TOON转回JSON格式
  • TOON格式使用缩进表示层级,键值对以空格分隔
  • 转换后输出格式化的JSON数据

密码生成器

自定义长度和字符集,生成强随机密码。

使用说明

  • 设置密码长度和字符类型,点击"生成"创建随机密码
  • 可选包含大写字母、小写字母、数字、特殊字符
  • 支持生成多个密码并一键复制
  • 显示密码强度评估

Bcrypt生成器

生成Bcrypt哈希,并可验证密码是否匹配哈希。

使用说明

  • 输入密码和成本因子(4-16,默认10),点击"生成哈希"
  • 成本因子越高,哈希越安全但生成越慢
  • 在验证区输入密码和之前生成的哈希值,点击"验证密码"
  • 验证结果会显示密码是否匹配该哈希

JWT生成器

使用HS256算法和密钥生成JWT Token。

使用说明

  • 填写Header和Payload(JSON格式),输入密钥
  • 点击"生成JWT"使用HS256算法签发Token
  • 点击"解码"可解析已有的JWT Token内容
  • 密钥仅用于签名,不会被上传到服务器

Cron表达式生成器

通过下拉框组合生成或解析Cron定时表达式。

反向解析

输入Cron表达式,解析其含义

使用说明

  • 通过可视化界面选择执行频率,自动生成Cron表达式
  • 支持秒、分、时、日、月、周六个字段
  • 提供常用预设(每分钟、每小时、每天等)
  • 显示Cron表达式的中文描述和下次执行时间
  • 支持反向解析:输入Cron表达式查看其含义

Emoji选择器

搜索并选择Emoji表情符号。

使用说明

  • 在搜索框中输入关键词搜索Emoji(支持中英文)
  • 点击"显示全部"浏览所有可用Emoji
  • 点击Emoji即可复制到剪贴板
  • 支持按分类筛选,如表情、手势、动物等

随机数据生成器

生成随机姓名、邮箱、手机号、UUID等测试数据。

使用说明

  • 选择需要生成的数据类型(姓名、邮箱、手机号、UUID等)
  • 设置生成数量(1-1000)
  • 点击"生成"批量创建随机测试数据
  • 适用于开发测试、数据库填充等场景

Geohash转换

经纬度与Geohash字符串相互转换。

使用说明

  • 输入经纬度和精度,点击"转换"生成Geohash编码
  • 或输入Geohash编码,点击"转换"解码为经纬度
  • 精度越高,Geohash编码越长,定位越精确
  • 常用于地图应用、附近搜索等地理位置场景

单位转换器

长度、重量、温度、面积、体积、速度、时间、数据存储等单位互转。

使用说明

  • 选择单位类别(长度、重量、温度、面积等)
  • 输入数值,选择源单位和目标单位
  • 点击"转换"即时计算结果
  • 支持8大类别数十种常用单位互转

PDF压缩

压缩PDF文件以减小文件大小。纯前端简化压缩,仅移除注释和冗余空白,效果有限

使用说明

  • 上传PDF文件,点击"压缩"减小文件体积
  • 支持不同压缩级别选择
  • 压缩后可直接下载
  • 所有处理在浏览器本地完成,文件不上传到服务器

PDF合并

将多个PDF文件合并为一个文件。纯前端简化合并,建议使用专业PDF工具进行精确合并

使用说明

  • 点击"选择PDF文件"上传多个PDF文件
  • 文件列表显示已选文件,确认无误后点击"合并PDF"
  • 合并后的PDF文件可直接下载
  • 所有处理在浏览器本地完成,文件不上传到服务器

PDF分割

将PDF文件分割为多个部分。纯前端简化分割,无法真正提取页面,建议使用专业工具

使用说明

  • 点击"选择PDF文件"上传需要分割的PDF
  • 选择分割模式:按页码范围或每页一个文件
  • 按页码范围模式需指定起始页和结束页
  • 分割后的PDF文件可直接下载

世界时钟

显示全球主要城市的实时时间,支持添加和删除时区

使用说明

  • 从下拉菜单选择时区,点击"添加"显示该城市时间
  • 点击"刷新"更新所有时区的当前时间
  • 每个时区卡片可单独删除
  • 显示当地时间与UTC偏移量

IP地址查询

查询IP地址的地理位置、运营商等信息。服务端处理

使用说明

  • 输入IP地址查询地理位置和运营商信息
  • 留空可查询您当前的公网IP信息
  • 支持IPv4和IPv6地址查询
  • 此功能需要服务端处理,查询结果仅供参考

DNS查询

查询域名的DNS记录。服务端处理

使用说明

  • 输入域名(如 example.com),选择记录类型
  • 支持A、AAAA、CNAME、MX、NS、TXT、SOA、PTR等记录类型
  • 点击"查询"获取DNS解析结果
  • 此功能需要服务端处理,查询结果仅供参考

图片压缩

压缩图片大小,支持调整压缩质量。

点击上传或拖拽图片

支持 JPG、PNG、WebP 等格式

使用说明

  • 点击上传区域或拖拽图片到上传区
  • 调整质量滑块(10-100),数值越低压缩率越高
  • 点击"压缩"按钮进行图片压缩
  • 压缩后可预览效果并下载,所有处理在浏览器本地完成

图片大小调整

调整图片尺寸,可选择保持宽高比。

点击上传或拖拽图片

支持 JPG、PNG、WebP 等格式

使用说明

  • 上传图片文件,设置目标尺寸后点击"缩放"
  • 支持按像素或百分比设置缩放比例
  • 支持锁定宽高比
  • 所有处理在浏览器本地完成

图片裁剪

按指定区域或比例裁剪图片。

点击上传或拖拽图片

支持 JPG、PNG、WebP 等格式

使用说明

  • 上传图片后选择裁剪比例(自由、1:1、4:3、16:9等)
  • 手动输入裁剪区域的X、Y坐标和宽高
  • 点击"裁剪"按钮按指定区域裁剪图片
  • 裁剪后可预览效果并下载,所有处理在浏览器本地完成

图片水印

为图片添加文字水印,支持居中或平铺模式。

点击上传或拖拽图片

支持 JPG、PNG、WebP 等格式

使用说明

  • 上传图片并输入水印文字内容
  • 选择水印模式:居中或平铺
  • 可调整透明度、字号和旋转角度
  • 点击"添加水印"生成带水印的图片,所有处理在浏览器本地完成

图片转JPG

批量将各种图片格式转换为JPG。

点击上传或拖拽图片(支持多选)

支持 JPG、PNG、WebP、GIF 等格式

使用说明

  • 上传任意格式图片,支持多选批量转换
  • 调整输出质量滑块(10-100)
  • 点击"转换"将图片统一转为JPG格式
  • 支持PNG、WebP、GIF等多种输入格式,所有处理在浏览器本地完成

PNG转JPG

批量将PNG图片转换为JPG格式。

点击上传或拖拽PNG图片(支持多选)

仅支持 PNG 格式

使用说明

  • 上传PNG图片,点击"转换"生成JPG格式
  • 自动处理透明背景(替换为白色)
  • 可设置输出质量
  • 所有处理在浏览器本地完成

JPG转PNG

批量将JPG图片转换为PNG格式。

点击上传或拖拽JPG图片(支持多选)

仅支持 JPG/JPEG 格式

使用说明

  • 上传JPG/JPEG图片,支持多选批量转换
  • 点击"转换"将JPG转为PNG无损格式
  • PNG格式支持透明背景,适合需要高质量图片的场景
  • 所有处理在浏览器本地完成

WebP转JPG

批量将WebP图片转换为JPG格式。

点击上传或拖拽WebP图片(支持多选)

仅支持 WebP 格式

使用说明

  • 上传WebP格式图片,支持多选批量转换
  • 调整输出质量滑块(10-100)
  • 点击"转换"将WebP转为JPG格式
  • 所有处理在浏览器本地完成

SVG转PNG

将SVG代码或SVG文件转换为PNG图片,支持缩放。

点击上传SVG文件

仅支持 .svg 格式

使用说明

  • 粘贴SVG代码或上传SVG文件
  • 设置缩放倍数(1-10),默认2倍
  • 点击"转换"生成PNG图片并下载
  • 所有处理在浏览器本地完成

Base64转图片

将Base64字符串转换为图片并预览。

使用说明

  • 粘贴Base64字符串或Data URI到输入框
  • 点击"转换"将Base64解码为图片预览
  • 支持带data:image前缀的Data URI和纯Base64字符串
  • 转换后可右键保存或下载图片

图片拼接

将多张图片拼接为一张,支持横向、纵向、网格布局。

点击上传或拖拽图片(支持多选)

支持 JPG、PNG、WebP 等格式

使用说明

  • 上传多张图片,支持拖拽批量上传
  • 选择布局方式:横向、纵向或网格
  • 可调整图片间距和背景颜色
  • 点击"拼接"生成合成图片,所有处理在浏览器本地完成

GIF制作器

将多张图片合成为GIF动画。

点击上传或拖拽图片(支持多选)

支持 JPG、PNG、WebP 等格式

使用说明

  • 上传多张图片,设置帧延迟时间后点击"生成"
  • 支持调整播放速度和循环次数
  • 生成的GIF可直接下载
  • 所有处理在浏览器本地完成

SVG优化器

清理和优化SVG代码,移除冗余内容。

使用说明

  • 在输入框中粘贴SVG代码,点击"优化"减小文件体积
  • 移除注释、空白、无效属性等冗余内容
  • 显示优化前后的文件大小对比
  • 优化后可直接复制或下载
小程序码
小程序码

微信扫码体验小程序