我想在Java中同时输出“阿拉伯语”和“英语”文本,输出以下语句:مرحبا I am Adham
。
我搜索了互联网,我发现在这种情况下需要BiDi算法。是否存在BiDi的任何java类。
我已经尝试了这个课程BiDiReferenceJava并且我对其进行了测试,但是当我在课程runSample()
中调用BidiReferenceTest
并输入阿拉伯字符串作为参数时,我得到了{{1} }因为字符的计数是重复的(恰好在类OutOfIndexException
中的这行代码中)
BidiReferenceTestCharmap
如果字符串长度为byte[] result = new byte[count];
,则计数为4
!
答案 0 :(得分:0)
ICU4J或多或少是Java的标准综合Unicode库,因此支持双向算法。我真的很想知道为什么你需要这个; BiDi通常由显示层应用,除非您是文字处理器或其他东西。
BidiReference.java显然是一个示范作品;它旨在显示算法如何在ASCII字符上工作,而不是使用实际的Unicode字符。