Java生成一个随机的阿拉伯文字符串
问题描述:
我正在处理一个项目,该项目需要我生成不同的json文件以便在基于端到端的测试中使用。Java生成一个随机的阿拉伯文字符串
其中一个需求是系统可以处理国际化,即不同的字符类型。
我已经成功地开发一个简单的随机字符串坐在当过我需要它产生不同的拉丁字符的方法中:
return RandomStringUtils.random(characterAmount, true, false);
但是下一步是覆盖国际化,我需要它在阿拉伯字符情况下生成随机字符串
有没有人有任何提示如何最好地去做这件事?
答
好,最简单的方式是只挑随机阿拉伯字符(检查出的Unicode图表自己的位置:http://unicode.org/charts/PDF/U0600.pdf和选择你需要的字符)。
不幸的是,这样就会产生非法阿拉伯语字符串 - 应该在单词的开头似乎可以在任何地方的信件,同样结束的字母,没有人知道你要去哪里得到那些漂浮Hamzas。如果您需要的字符串更“符合阿拉伯语”,我会做不同的事情:
以阿拉伯文字的大文件,它拆分成词,并随机选择的话。没有什么比古兰经为:http://www.sacred-texts.com/isl/uq/index.htm
答
你必须使用java.lang.Character.UnicodeBlock
(link to javadoc) 测试如果一个Unicode字符属于特定块
算法的复杂性是可怕的可能性,但应该有什么好结果。你甚至可以缓存您的结果下的文件,让你轻松地重用
或者你可以检查source of that class阿拉伯语拿到代码点范围:-)
其实算法的复杂性可能是`O(1)`。 .. :-) – 2011-12-16 10:37:49