美文网首页
汉字转拼音问题

汉字转拼音问题

作者: joyousx | 来源:发表于2020-08-24 10:24 被阅读0次

    汉字转拼音

    基本思路就是从 unicode.org 获取到字符码以及对应的拼音Unihan.zip,然后再通过脚本解析成需要的格式,并输出为 dictionary。
    (其中,Unihan.zip 内容说明见:reports/tr38)

    在使用时,将输入字符串解析成单个的汉字,去查字典。

    Unicode 字符平面

    当前的 Unicode 字符分为17组编排,每组称为平面(Plane),而每平面拥有65536(即216)个代码点。然而当前只用了少数平面

    unicode 编码采用了 2bytes 进行表达。表达方式为:[0 - 0x10][0 ~ 0xFFFF], 第一部分为平面id,第二部分就是字符值。

    其中,常见的有:

    • 0号平面,基本多文种平面,Basic Multilingual Plane,简称 BMP
    • 1号平面,多文种补充平面,Supplementary Multilingual Plane,简称 SMP
    • 15号平面,保留作为私人使用区(A区),Private Use Area-A,简称 PUA-A
    • 16号平面,保留作为私人使用区(B区),Private Use Area-B,简称 PUA-B

    GB2312、GBK、GB18030

    借着这个机会,又重新学习了下 GB2312、GBK、GB18030 这几种汉字编码的历史。

    1. GB2312 或 (GB2312-80)
      是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称 GB 0,由中国国家标准总局发布,1981 年 5 月 1 日实施.

    它采用两个字节表示一个字符,同时兼容了 ASCII。为了兼容 ASCII,它规定,一个小于127的字符的意义与原来相同,但当两个大于127的字符连在一起时,就表示一个汉字。就是说,对于每个字节只使用大于 127 的值用于编码。

    GB2312 共收录 6763 个汉字,另外还收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母等在内的 682 个字符。

    GB2312 基本满足了汉字的计算机处理需要,它覆盖了中国 99.75% 的使用频率。但是却对于人名、古汉语等方面出现的罕用字无能为力,这导致了后来 GBK 及 GB 18030 汉字字符集的出现。

    1. GBK
      GBK 即汉字内码扩展规范,K 为汉语拼音 Kuo Zhan(扩展)中“扩”字的声母。英文全称 Chinese Internal Code Specification。

    GBK 共收入 21886 个汉字和图形符号,GBK 向下与 GB 2312 完全兼容。

    GBK 采用双字节表示,总体编码范围为 8140-FEFE 之间,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 XX7F 一条线。

    1. GB18030
      全称是:国家标准 GB18030-2005,是目前中国最新的字符集,是 GB18030-2000 的修订版。GB18030 完全兼容 GBK,共收录汉字70244个。

    与 UTF-8 相同,GB18030 采用多字节编码,采用 1、2、4 字节变长编码。

    • 单字节,其值从 0 到 0x7F,与 ASCII 编码兼容。
    • 双字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x40 到 0xFE(不含0x7F),以与 GBK 标准兼容。
    • 四字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x30 到 0x39,第三个字节从0x81 到 0xFE,第四个字节从 0x30 到 0x39。

    Reference

    相关文章

      网友评论

          本文标题:汉字转拼音问题

          本文链接:https://www.haomeiwen.com/subject/tmggjktx.html