Java生成随机的阿拉伯文字符串

时间:2011-12-16 09:54:21

标签: java random arabic

我正在开发一个项目,要求我生成不同的json文件,以便在基于端到端的测试中使用。

其中一个要求是系统可以处理国际化,即不同的字符类型。

我设法在一个方法中开发一个简单的随机字符串,在我需要的时候生成不同的拉丁字符:

return RandomStringUtils.random(characterAmount, true, false);

然而,下一步是涵盖国际化,我需要它来生成阿拉伯字符情况下的随机字符串。

有人会对如何最好地解决这个问题有任何提示吗?

2 个答案:

答案 0 :(得分:6)

嗯,简单的方法就是选择随机的阿拉伯字符(查看Unicode图表的位置:http://unicode.org/charts/PDF/U0600.pdf并选择你想要的字符。)

不幸的是,这会产生非法的阿拉伯字符串 - 应该出现在单词开头的字母可以在任何地方,对于结束字母也是一样的,并且没有人知道你将在哪里获得那些浮动的哈姆萨斯。如果你需要你的字符串更符合'阿拉伯语',我会做一些不同的事情:

获取大量阿拉伯文字文件,将其分成单词并随意选择单词。没有什么比古兰经更胜一筹了:http://www.sacred-texts.com/isl/uq/index.htm

答案 1 :(得分:0)

您可以使用java.lang.Character.UnicodeBlocklink to javadoc) 测试unicode字符是否属于特定块

算法的复杂性很糟糕,但应该会带来好的结果。您甚至可以将结果缓存在文件下,以便您轻松地重复使用

或者您可以查看source of that class获取ARABIC以获取代码点范围: - )