0.02
No commit activity in last 3 years
No release in over 3 years
chinese hanzi to pinyin , fetch first letter OR full pinyin, written in Ruby.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

>= 0
>= 0
 Project Readme

English User See: README.EN.md

hanzi_to_pinyin

  • 获取汉字首字母
  • 获取汉字完整拼音
  • 把汉字转化为安全的 url

安装

ruby version <= 2.1.0

$ gem 'hanzi_to_pinyin', '1.0.0', require: 'hanzi_to_pinyin'

ruby version >=2.2.0

$ gem 'hanzi_to_pinyin', require: 'hanzi_to_pinyin'

使用

  # 获取首字母
  $ HanziToPinyin.hanzi_to_pinyin("中华人民共和国") #=> "zhrmghg"
  $ HanziToPinyin.hanzi_2_pinyin("中华人民共和国") #=> "zhrmghg"
  $ HanziToPinyin.hanzi_to_pinyin("喜欢Ruby") #=> "xhruby"
  $ HanziToPinyin.hanzi_2_pinyin("喜欢Ruby") #=> "xhruby"

  # 判断是否是汉字
  $ HanziToPinyin.is_hanzi?("你") #=> true
  $ HanziToPinyin.is_hanzi?("a") #=> false

  # 获取完整拼音
  # 多音字,分隔 字字之间;分隔,字母数字保留不变
  $ HanziToPinyin.hanzi_2_py("我们") #=> "wo;men"
  $ HanziToPinyin.hanzi_2_py("yyf") #=> "yyf"
  $ HanziToPinyin.hanzi_2_py("查理Smith") #=> "cha,zha;li;Smith"
  $ HanziToPinyin.hanzi_2_py("测试1") #=> "ce;shi;1"
  $ HanziToPinyin.hanzi_2_py("测_试") #=> "ce;_;shi"
  $ HanziToPinyin.hanzi_2_py("测-试") #=> "ce;-;shi"
  $ HanziToPinyin.hanzi_2_py(2) #=> "2"

  # 判断是否是数字
  $ HanziToPinyin.is_number?("1".ord) #=> true
  $ HanziToPinyin.is_number?("a".ord) #=> false

  # 判断是否是下划线
  $ HanziToPinyin.is_underline?("_".ord) #=> true
  $ HanziToPinyin.is_underline?("豆豆") #=> false
  
  # 判断是否是连接符
  $ HanziToPinyin.is_dash?("-".ord) #=> true

  # 汉字转化为安全的 url
  $ HanziToPinyin.hanzi_to_url("双11活动") #=> "shuang-1-1-huo-dong"
  $ HanziToPinyin.hanzi_to_url("双12活动&name=xxx") #=> "shuang-1-2-huo-dong-%26-n-a-m-e-%3D-x-x-x"

测试

$ rake spec

或者跑某个测试用例

$ rspec spec/hanzi_to_pinyin/hanzi_to_pinyin_spec.rb -l 21

ChangeLog

1.0.0

  • ruby 版本 < 2.1.0 使用

2.0.0

  • 升级 Rake 版本解决 Rake 安全漏洞问题
  CVE-2020-8130
  moderate severity
  Vulnerable versions: <= 12.3.2
  Patched version: 12.3.3
  There is an OS command injection vulnerability in Ruby Rake before 12.3.3 in Rake::FileList when supplying a filename that begins with the pipe character |.
  • 支持 Ruby >= 2.2.0

2.0.1

  • 修复"嗯"转化报错

版权

Copyright (c) 2011 wxianfeng. See LICENSE.txt for further details.