1

当我进入

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

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

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

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

4

1 回答 1

4

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

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

于 2013-08-08T11:31:41.353 回答