如何将字符串转换为所有可能的字符集?

时间:2016-04-03 15:52:07

标签: java character-encoding

我想知道如何将阿拉伯语中的字符串转换为java支持的所有可能的字符集  可能吗 ? 我在网上搜索,我发现java支持这个set of encoding,我会做的是:

      enter the string : hello <-- in arabic
            charset utf 8 ==> XXXXX  <---- this is the converted string for utf 8
            charset iso8859_1 ==> XXXXX  <----  this is the converted string for iso8859_1

在VYTAS的答案之后,我制作了这段代码:

public static void main(String[] args) {
    // TODO code application logic here
    SortedMap<String, Charset> availableCharsets = Charset.availableCharsets();
    Set<String> keySet = availableCharsets.keySet();
    for (String key : keySet) {
        try {
        System.out.println(new String(availableCharsets.get(key).encode("عباس").array(), availableCharsets.get(key)) );

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

但输出只是正方形和'?'有时阿拉伯字符串,是我做得对吗?因为我期待这个website中使用“عباس”这个词的东西。

感谢

1 个答案:

答案 0 :(得分:3)

一旦你有一个阿拉伯语的字符串,你可以这样做:

Charset.forName("UTF-8").encode(str);

其中&#39; UTF-8&#39;是java.nio API的字符集的规范名称,
和&#39; str&#39;是你的阿拉伯语字符串。