## 功能
支持多种数字/地址格式的自动识别与转换。
| 分类 | 功能 | 说明 |
|------|------|------|
| 格式识别 | 自动识别输入格式 | IP地址、十进制、二进制(0b)、八进制(0o)、十六进制(0x) |
| 数值转换 | 进制互转 | 十进制 ↔ 二进制 ↔ 八进制 ↔ 十六进制 |
| IP 转换 | IP → 各进制 | IP 地址转点分二进制、32位整数、八进制、十六进制 |
| IP 转二进制 | 各进制 → IP | 数值在 IPv4 范围内时显示对应 IP 地址和点分二进制 |
| 结果复制 | 一键复制 | 每行结果右侧「复制」按钮 |
## 支持的输入格式
| 格式 | 示例 | 识别方式 |
|------|------|----------|
| IPv4 地址 | `192.168.1.1` | 正则匹配 `x.x.x.x`,每段 0-255 |
| 十进制 | `255`、`3232235777` | 纯数字 |
| 二进制 | `0b11111111` | `0b`/`0B` 前缀 |
| 八进制 | `0o377` | `0o`/`0O` 前缀 |
| 十六进制 | `0xFF` | `0x`/`0X` 前缀 |
### 转换规则
**IP 地址输入**(如 `192.168.1.1`):
1. IP 二进制(点分):`11000000.10101000.00000001.00000001`
2. 十进制整数:`3232235777`
3. 二进制:`1100 0000 1010 1000 0000 0001 0000 0001`
4. 八进制:`30052000401`
5. 十六进制:`0xC0A80101`
**数值输入**(如 `255`、`0xFF`、`0b11111111`):
1. 显示其他三种进制(输入进制不重复显示)
2. 值在 0~4294967295 范围内时额外显示 IP 地址和点分二进制
### 关键技巧
1. **无前缀歧义**:纯数字默认为十进制,二进制/八进制/十六进制必须有 `0b`/`0o`/`0x` 前缀
2. **状态栏反馈**:复制后显示「✔ 已复制 标签: 值」
3. **ESC 关闭**
## 测试清单
### 格式识别
- [ ] 输入 `192.168.1.1` → 显示「✔ IPv4 地址」
- [ ] 输入 `255` → 显示「✔ 十进制」
- [ ] 输入 `0b11111111` → 显示「✔ 二进制」
- [ ] 输入 `0o377` → 显示「✔ 八进制」
- [ ] 输入 `0xFF` → 显示「✔ 十六进制」
- [ ] 输入 `hello` → 显示「✘ 无法识别的格式」
### IP 转换
- [ ] `192.168.1.1` → 点分二进制 `11000000.10101000.00000001.00000001`
- [ ] `192.168.1.1` → 十进制整数 `3232235777`
- [ ] `10.0.0.1` → 十六进制 `0x0A000001`
- [ ] `255.255.255.0` → 八进制正确
### 数值转换
- [ ] `255` → 二进制 `1111 1111`,八进制 `377`,十六进制 `0xFF`
- [ ] `0xFF` → 十进制 `255`,二进制 `1111 1111`,八进制 `377`
- [ ] `0b1010` → 十进制 `10`,八进制 `12`,十六进制 `0xA`
- [ ] `0o77` → 十进制 `63`,二进制 `11 1111`,十六进制 `0x3F`
### IP 转二进制(额外功能)
- [ ] 输入 `3232235777`(IP 整数)→ 显示 IP 地址 `192.168.1.1` 和点分二进制
- [ ] 输入 `0xC0A80101` → 显示 IP 地址 `192.168.1.1`
- [ ] 输入 `167772161`(=10.0.0.1)→ 显示 IP 地址和点分二进制
### 交互
- [ ] 复制按钮:点击后状态栏显示「✔ 已复制 xxx」,剪贴板内容正确
- [ ] ESC 键关闭窗口
- [ ] 标题栏拖拽移动窗口
- [ ] 关闭按钮 ✕ 正常关闭
- [ ] 清空输入 → 结果面板清空