当前位置: 首页 > 面试题库 >

如何在左右方向上打印阿拉伯字符

薛弘厚
2023-03-14
问题内容

我有一系列英语和阿拉伯语文本,应以对齐方式打印。

例如:

List<Character> ar = new ArrayList<Character>();
ar.add('ا');
ar.add('ب');
ar.add('ت');

List<Character> en = new ArrayList<Character>();
en.add('a');
en.add('b');
en.add('c');

System.out.println("ArArray: " + ar);
System.out.println("EnArray: " + en);

预期产量:

ArArray: [ت, ب, ا] // <- I want characters to be printed in the order they were added to the list
EnArray: [a, b, c]

实际输出:

ArArray: [ا, ب, ت] // <- but they're printed in reverse order
EnArray: [a, b, c]

有没有办法在从左到右的方向上打印阿拉伯字符,而无需在输出之前明确地反转列表?


问题答案:

您需要在每个RTL字符之前添加从左到右的标记'\u200e',以使其可以LTR打印:

public String printListLtr(List<Character> sb) {
    if (sb.size() == 0) 
        return "[]";
    StringBuilder b = new StringBuilder('[');
    for (Character c : sb) {
        b.append('\u200e').append(c).append(',').append(' '); 
    }
    return b.substring(0, b.length() - 2) + "]";
}


 类似资料:
  • 问题内容: 我打算用阿拉伯字符打印一个字符串: 但是,我从Eclipse日志控制台中看到,阿拉伯字符显示为一系列此类字符 我的代码中可能缺少什么? 问题答案: 试试这个:

  • 当我按原样构建应用程序并在笔记本电脑上运行时,我得到的是这个: 谁能说说这里发生了什么吗?谢谢你。

  • 我在PHP中面临一个解析问题。事实上,当我用法语解析谷歌建议结果时,我试图解析的网址是: http://suggestqueries.google.com/complete/search?client=toolbar 我用以下代码解析它: 结果是好的。 当我用阿拉伯语做这件事时,我会替换lang和query。代码如下 url是正常的,但是当我解析它时会收到警告 警告:file_get_conten

  • 问题内容: 我整天都在努力,但没有提出解决方案。我在一个容器中的一行中有3列。 1:正确的内容–向右拉 2:导航–向左拉 3:主要内容 在大屏幕上看起来是什么: 在较小的屏幕上应该是什么样子: 现在看起来像什么: 我认为这只是一个简单的浮动问题。但是我几乎尝试了所有可能性。 问题答案: 引导程序3 使用Bootstrap 3的网格系统: 说明 首先,我们设置了两列,无论屏幕分辨率()都将保持不变。

  • 这是我的自定义记录器类: 我使用的方法是:

  • 我正在尝试使用最新的雅虎天气apihttps://weather-ydn-yql.media.yahoo.com/forecastrss它工作得很好,但当我设置语言(lang=ar AE)时,它返回带问号的json响应,而不是阿拉伯字符。例如“城市”:“城市”对于英语来说,这是可以的。 我没看到留档里有关于utf设置的东西 当我打开雅虎的天气页面https://www.yahoo.com/news