Java 代码页或阿拉伯字符

Java 代码页或阿拉伯字符,java,eclipse,codepages,Java,Eclipse,Codepages,考虑以下代码: public class lamAlifTestClass { public static void main(String[] args) { String a = "لا"; String b = "a"; byte[] y = a.getBytes(); // -28 & -57 byte[] z = b.getBytes(); // 97 System.out.println("

考虑以下代码:

 public class lamAlifTestClass {
    public static void main(String[] args) {
       String a = "لا";
       String b = "a";

       byte[] y = a.getBytes(); // -28 & -57
       byte[] z = b.getBytes(); // 97


       System.out.println("Special character length: " + y.length);
       System.out.println("Normal character length: " + z.length);

    }
 }
特殊字符使用eclipse的默认代码页Cp1046获取2个字节。 是否存在此字符仅占用1字节的代码页? 这个角色叫林·阿利夫

如何让eclipse/java使用这个字符只占用1字节的代码页? 我试图更改文件属性中的代码页,但它起作用了吗


对不起,你说的代码页是什么意思?顺便说一句,Java默认使用UTF-16,而不是IBM编码方案。我相信最初创建宽字符是为了让国际符号都可以表示为单个字符数据类型。所以,我不认为阿拉伯字符可以表示为1字节。此外,我认为现在在实践中使用宽字符是标准的。示例中的字符串实际上是两个字符:
ل
ا
,在Java最常用的编码UTF-16中,它们各占两个字节(如果“byte”是指八位)。祝你好运找到任何编码系统,将他们纳入一个字节。在什么情况下,多几个字节是一个问题?在我看来,您链接到的字符集使用2字节字符作为阿拉伯字形。单击单个字符的链接会出现一个描述特定字符的页面,看起来UTF-8是一个多字节字符集,而UTF-16是一个单字符、双字节字符集。@RichardChambers是的,有些字符适合于单个UTF-16单元,即两个字节。