????本文將介紹如何在代碼中打印漢語(yǔ)拼音的聲調(diào)裸违。
(1)原理
????漢語(yǔ)拼音的聲調(diào)是在6個(gè)元音字母上方:a、o肆饶、e骆捧、i、u顿膨、ü锅锨,所以只需要處理這6個(gè)元音字母和聲調(diào)的組合即可。用計(jì)算機(jī)術(shù)語(yǔ)來說恋沃,每個(gè)可打印字母必搞,對(duì)某個(gè)字符集來說,都有唯一的囊咏、固定不變的編碼值恕洲。ī、í梅割、ǐ霜第、ì 這帶聲調(diào)的字母,并不例外炮捧,它們也分別對(duì)應(yīng)著不同的編碼值庶诡。所以要打印各種聲調(diào),其原理是輸出各元音聲調(diào)字母的編碼值咆课。
(2)Unicode聲調(diào)編碼
????本小節(jié)介紹各元音字母的4個(gè)聲調(diào)在Unicode字符集中的編碼值末誓。
聲調(diào) | 編碼值 |
---|---|
ā | 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)打印聲調(diào)
????有了上述聲調(diào)的編碼值书蚪,打印起來就簡(jiǎn)單了喇澡。將所有要打印的聲調(diào)用對(duì)應(yīng)的Unicode編碼替換即可。
????例如殊校,要打印“魯迅”的拼音:
System.out.println("l\u01D4 x\u00F9n");
????輸出結(jié)果:
lǔ xùn
????打印“叔本華”的拼音:
System.out.println("sh\u016B b\u011Bn hu\u00E1");
????輸出結(jié)果:
shū běn huá
????Over晴玖!