18_打印汉语拼音声调

2023-02-05  本文已影响0人  刘加城

    本文将介绍如何在代码中打印汉语拼音的声调。

(1)原理

    汉语拼音的声调是在6个元音字母上方:a、o、e、i、u、ü,所以只需要处理这6个元音字母和声调的组合即可。用计算机术语来说,每个可打印字母,对某个字符集来说,都有唯一的、固定不变的编码值。ī、í、ǐ、ì 这带声调的字母,并不例外,它们也分别对应着不同的编码值。所以要打印各种声调,其原理是输出各元音声调字母的编码值。

(2)Unicode声调编码

    本小节介绍各元音字母的4个声调在Unicode字符集中的编码值。

声调 编码值
ā 0x0101
á 0x00E1
ǎ 0x01CE
à 0x00E0
ō 0x014D
ó 0x01F3
ǒ 0x01D2
ò 0x01F2
ē 0x0113
é 0x00E9
ě 0x011B
è 0x00E8
ī 0x012B
í 0x00ED
ǐ 0x01D0
ì 0x00EC
ū 0x016b
ú 0x00FA
ǔ 0x01D4
ù 0x00F9
ǖ 0x01D6
ǘ 0x01D8
ǚ 0x01DA
ǜ 0x01DC

    这些编码值在Unicode官方编码文档上可以查到。

(3)打印声调

    有了上述声调的编码值,打印起来就简单了。将所有要打印的声调用对应的Unicode编码替换即可。
    例如,要打印“鲁迅”的拼音:

    System.out.println("l\u01D4 x\u00F9n");

    输出结果:

lǔ xùn

    打印“叔本华”的拼音:

    System.out.println("sh\u016B b\u011Bn hu\u00E1");

    输出结果:

shū běn huá

    Over!

上一篇 下一篇

猜你喜欢

热点阅读