java - Java 中从右到左的语言

标签 java string right-to-left

当我进入

new String("<some arabic text>".getBytes(), "UTF-8");

尽管显示完全按照粘贴方式(粘贴到 eclipse 编辑器中),索引 0 包含字符串最右边的字符。

(另外,每个阿拉伯字母都是两个字节,第一个字节是-40。这是否表示顺序?)

我想知道 java 编译器是否在后台识别阿拉伯语,以及 eclipse 编辑器是否会重组阿拉伯语文字?或者为什么调试器知道这是阿拉伯语,这意味着第一个被读取的字母是最右边的字母,因此分配了一个索引 0。

最佳答案

所有文本均按书写顺序存储,因此阿拉伯语中的第一个(最右边)字母应存储在索引 0 中。显示字符串的软件可以识别该文本是阿拉伯语并将其从右到右排列-左。

此外,您引用的代码行充其量什么也不做,最坏的情况是它会破坏数据。它使用系统默认编码(可以是任何内容)将给定的 Unicode 字符串编码为字节,然后假装生成的字节代表 UTF-8 中的一些文本并对其进行解码。

关于java - Java 中从右到左的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124784/

相关文章:

java - JavaFX 中的画笔描边

python - 从句子中输出一个列表并计算每个单词的字符数

php - 如何从字符串中生成条件语句

Java:设置String.format不显示0位小数

html - 在从右到左的语言中(如阿拉伯语和希伯来语),括号反转

android - 提示对齐到密码 EditText 的右边

java - 在 Android 中创建从右到左的 PDF 文件

java - 如何按java中结构的元素对结构列表进行排序

java - db.collection.find() 在 EclipseLink 的 native 查询中不起作用

java - 如何在 JSON 对象中获取 JSON 数组?