2016-12-24 111 views
1

我正在研究处理韩语句子的程序,我需要一种将音节或块分解为字母的方法。对于那些不知道韩文的人来说,一个音节由2-4个字母组成(Jamo),创造出数千种不同的组合。我想要做的是将这些音节分解成形成它的字母。将韩文音节分解为字母(jamo)

我能够通过比较其Unicode值与该范围内的关联字母来获得第一个字母,即以x字母开头的音节位于y范围内。但是,我发现剩下的字母不知所措。

这是一个包含朝鲜语音节Unicode值的表:http://jrgraphix.net/r/Unicode/AC00-D7AF

回答

3

韩文音节分解(例如 + + )是用Java通过java.text.Normalizer类完成:

String s = Normalizer.normalize("\uD4DB", Normalizer.Form.NFD); 

Hangul分解算法也在Section 3.12 of the Unicode Standard (from page 142);由于规范化还会影响其他非韩文字符,因此您应该熟悉UAX #15中Unicode规范化的一般原理和形式。

+0

非常感谢你,这正是我所期待的。我担心我必须创建我自己的分解音节的算法。 – Ninjaman494