golang实现中文汉字转拼音

栏目: Go · 发布时间: 5年前

内容简介:转载请注明出处:在一些的开发中,可能会遇到一些需要把中文汉字转成拼音的需求,在这里自己简单的用 golang 实现了一下中文转拼音的库。欢迎各位大佬前来指正。实现起来的话,也非常简单,是将所有的汉字对应的 rune码,对应上它的拼音,也即是,有一个这样的 map[rune]string, 其中 key 为汉字的 rune码,value 就是汉字的拼音了。这个 map 是通过文件来生成的。文件内容如下:

转载请注明出处: golang实现中文汉字转拼音

golang实现中文汉字转拼音

Golang

  1. 介绍

在一些的开发中,可能会遇到一些需要把中文汉字转成拼音的需求,在这里自己简单的用 golang 实现了一下中文转拼音的库。欢迎各位大佬前来指正。

2. 实现原理

实现起来的话,也非常简单,是将所有的汉字对应的 rune码,对应上它的拼音,也即是,有一个这样的 map[rune]string, 其中 key 为汉字的 rune码,value 就是汉字的拼音了。这个 map 是通过文件来生成的。文件内容如下:

3400=>qiū
3401=>tiàn
3404=>kuà
3405=>wǔ
3406=>yǐn
340C=>yí
3416=>xié
341C=>chóu

其中的拼音都是带声调的。不需要声调的话,可以替换成没有声调的字符。

3. 源码

github 源码地址

4. 使用 demo

安装:

go get github.com/chain-zhang/pinyin
package main

import(
    "fmt"
     "github.com/chain-zhang/pinyin"
)

func main()  {
    str, err := pinyin.New("我是中国人").Split("").Mode(InitialsInCapitals).Convert()
    if err != nil {
        // 错误处理
    }else{
        fmt.Println(str)
    }

    str, err = pinyin.New("我是中国人").Split(" ").Mode(pinyin.WithoutTone).Convert()
    if err != nil {
        // 错误处理
    }else{
        fmt.Println(str)
    }

    str, err = pinyin.New("我是中国人").Split("-").Mode(pinyin.Tone).Convert()
    if err != nil {
        // 错误处理
    }else{
        fmt.Println(str)
    }

    str, err = pinyin.New("我是中国人").Convert()
    if err != nil {
        // 错误处理
    }else{
        fmt.Println(str)
    }   
}

输出

WoShiZhongGuoRen
wo shi zhong guo ren
wǒ-shì-zhōng-guó-rén
wo shi zhong guo ren

Mode 介绍

InitialsInCapitals
WithoutTone
Tone

Split 介绍

split 方法是两个汉字之间的分隔符.

转载请注明出处: golang实现中文汉字转拼音


以上所述就是小编给大家介绍的《golang实现中文汉字转拼音》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据分析技术白皮书

数据分析技术白皮书

伍海凤、刘鹏、杨佳静、马师慧Sara、李博、Shirley Song、Zinc、李晓艳 / 2016-8-11 / 0

关于数据分析技术白皮书(Analytics Book 中文版),主要内容围绕: 1. 分析(Analytics):网站分析 & APP分析 2. 谷歌分析工具的原理、部署与使用 3. 开源网站分析工具的原理、部署与使用 4. Log日志分析原理 5. 网站分析的维度与指标定义 6. 如何炼成为一个互联网数据分析师 请访问书的数据分析技术白皮书官网“免费”阅......一起来看看 《数据分析技术白皮书》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具