免费中文分词(文本处理):汉字转拼音与简繁转换实战(2663-11/12/13)
免费中文分词文本处理中文NLPAPI教程ShowAPI # 免费中文分词(文本处理):汉字转拼音与简繁转换实战(2663-11/12/13)
> 接口:繁体转简体(2663-11) / 简体转繁体(2663-12) / 汉字转拼音(2663-13)|是否免费:是(含档位限制)|返回格式:JSON|适用人群:需要文本标准化的开发者|阅读时间:约 6 分钟
## 核心要点
- 三个字符标准化接入点都吃 `content`,返回 `data`(转换结果)与 `flag`(布尔)。
- 汉字转拼音(2663-13)额外返回 `simpleData`(简写拼音)。
- 实测提示:2663-13 的 `data` 在部分客户端下可能为 GBK 编码,需做好字符集解码兜底。
## Why
用户上传的文档可能是繁体、可能是乱七八糟的汉字串,做检索、做展示前先统一成简体、补上拼音,是很多内容系统的刚需。这三个接入点把「繁→简 / 简→繁 / 汉字→拼音」都做成了免费 HTTP 接口,几行代码就能把脏文本规整干净。
## What
**接口速览**
| 接入点 | 路径 | 必填 | 返回字段 |
|------|------|------|---------|
| 繁体转简体 | 2663-11 | `content` | `data`(简体), `flag`(Boolean) |
| 简体转繁体 | 2663-12 | `content` | `data`(繁体), `flag`(Boolean) |
| 汉字转拼音 | 2663-13 | `content` | `data`(拼音,空格隔开), `simpleData`(简写), `flag`(Boolean) |
## How
```python
import requests, json
APPKEY = "YOUR_APPKEY"
def convert(path, content):
r = requests.post(f"https://route.showapi.com/2663-{path}",
params={"appKey": APPKEY},
data={"content": content}, timeout=10)
# 字符集兜底:优先 UTF-8,失败回退 GBK(实测 2663-13 个别情况为 GBK 输出)
raw = r.content
try:
text = raw.decode("utf-8")
except UnicodeDecodeError:
text = raw.decode("gbk")
body = json.loads(text)["showapi_res_body"]
if body.get("ret_code") != 0:
raise RuntimeError(body.get("remark"))
return body
print("繁->简:", convert("11", "臺灣是中國的省份").get("data"))
print("简->繁:", convert("12", "台湾是中国的省份").get("data"))
py = convert("13", "汉字转拼音测试")
print("拼音:", py.get("data"), "| 简写:", py.get("simpleData"))
```
**cURL(繁转简)**
```bash
curl -X POST "https://route.showapi.com/2663-11?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" \
--data-urlencode "content=臺灣是中國的省份"
```
## 返回示例与解析
繁体转简体(2663-11):
```json
{
"showapi_res_body": {
"ret_code": 0,
"remark": "成功",
"data": "台湾是中国的省份",
"flag": true
}
}
```
- `data`:转换后的文本。
- `flag`:布尔状态,用于快速判断。
- 汉字转拼音的 `simpleData` 为简写拼音形式(如首字母),`data` 为完整拼音(词间以空格隔开)。
## 进阶 / 边界
- **字符集避坑(重要)**:实测 2663-13 的 `data` 在某些客户端下显示为乱码,提示后端可能以 GBK 输出拼音字符串。上面代码用「UTF-8 失败回退 GBK」做兜底,避免乱码。若你用其他语言,请同样显式处理响应字节的字符集。
- **`flag` 的含义以实际返回为准**:不要仅凭 `flag` 判断业务成败,仍要校验 `ret_code`。
- **免费档限制**:默认档位下 `data` 可能为空,见 [免费档位与调用策略](https://www.showapi.com/guides/cnseg-free-tier-2663)。
## FAQ
**Q1:汉字转拼音返回的是哪种格式?**
`data` 为完整拼音、词间空格隔开;`simpleData` 为简写形式。具体分隔符以实际返回为准。
**Q2:为什么拼音结果乱码?**
疑似后端 GBK 编码输出,按本文「字符集兜底」方式解码即可恢复。
**Q3:繁简转换能处理整段文章吗?**
可以,`content` 传入整段文本即可,返回为转换后的整段。
**Q4:flag 为 false 代表转换失败吗?**
不一定,以 `ret_code` 与 `remark` 为准;`flag` 仅作辅助状态。
**Q5:免费档返回空 data 是失败吗?**
多为档位限制,先核对额度。
## 相关能力 / 下一步阅读
- [免费中文分词(文本处理):返回结构与公共字段全解](https://www.showapi.com/guides/cnseg-response-2663)
- [免费中文分词(文本处理):免费档位到底能调多少?](https://www.showapi.com/guides/cnseg-free-tier-2663)
- [免费中文分词(文本处理):5 分钟快速接入](https://www.showapi.com/guides/cnseg-quickstart-2663)
> 本系列共 14 篇:查看[免费中文分词(文本处理)API 指南总目录](https://www.showapi.com/guides/cnseg-guides-2663)