【发布时间】:2015-03-18 20:11:45
【问题描述】:
目前,出于我的研究目的,我正在开发一种音译软件,用于将 Cp1252 编码方案中的文本转换为其适当的 unicode 基本多语言平面值。文本混合了两种语言(曼尼普里语和英语)并使用不同的字体。
虽然文本中的两种语言在视觉上看起来不同,但它使用相同的编码方案。 Manipuri 语言在这里使用了一种不同的字体,它使用 Bangali 脚本。我制定了一套规则,用于将字符映射到其正确的 unicode 值。但是当我运行 s/w 时,英文文本部分也被错误地映射到 Manipuri 使其不可读,因为映射规则因为编码方案是相同的。英文文本部分应该保持不变。这是因为我的 s/w 不知道文本的哪一部分是英文,哪一部分是 Manipuri。
如何在这两种文本之间进行分类,以便将它们正确映射到正确的 unicode 值?
【问题讨论】:
-
您不能只使用
Charset.forName("...")来使用现有功能吗? -
@AndyTurner Charset.forName( ) 对我没有多大帮助,因为两种语言都使用相同的字符范围。唯一的区别在于字体。
-
如果您无法知道何时在区域设置之间切换(没有控制代码或其他东西的任何东西如何正确显示此文本?),我只能建议您翻译两个,标记化和决定哪个是最有可能的,例如通过与两种语言的单词列表进行比较。
-
跟进@AndyTurner 的评论,“我的软件不知道哪一部分是英文,哪一部分是 Manipuri”,那么 you 怎么知道哪个部分是哪种语言?
标签: java