Java 如何将unicode字符串转换为可读字符串

Java 如何将unicode字符串转换为可读字符串,java,unicode-string,Java,Unicode String,我有这个字符串“\U05d0\U05d5\U05d2\U05e0\U05d3\U05d4”、“\U05d0\U05d5\U05d6\U05d1\U05e7\U05d9\U05e1\U05d8\U05df”、“\U05d0\U05d5\U05e1\U05d8\U05e8\U05e8\U05d9\U05d4” 如何将其转换为可读字符串?(注意这应该是希伯来语) 我试过这个方法,但不管用 byte[] bytes = s.getBytes(); String decoded = new String(

我有这个字符串
“\U05d0\U05d5\U05d2\U05e0\U05d3\U05d4”、“\U05d0\U05d5\U05d6\U05d1\U05e7\U05d9\U05e1\U05d8\U05df”、“\U05d0\U05d5\U05e1\U05d8\U05e8\U05e8\U05d9\U05d4”

如何将其转换为可读字符串?(注意这应该是希伯来语)

我试过这个方法,但不管用

byte[] bytes = s.getBytes();
String decoded = new String(bytes); 
System.out.println(decoded);

所有
U
都应为小写
U

    String s = "\u05d0\u05d5\u05d2\u05e0\u05d3\u05d4";

    try{

        byte[] bytes   = s.getBytes();
        String decoded = new String(bytes); 

        System.out.println(decoded);

    } catch(UnsupportedEncodingException e) {      
        // ...  
    }

输出:

אוגנדה

不是那么直截了当的。有关提示,请参阅。切勿使用
String.getBytes()
String(byte[])
。它们依赖于机器,使用默认的系统编码,经常导致数据损坏。@KarolS谢谢:)不过,因为我需要1次转换,所以这没问题。然而,我想知道是否有一种更通用的方法来解决这个问题,那么?在当前角色集不是幂等的系统上,这将严重破坏。如果系统字符ser支持希伯来语,那么一个简单的System.out.println(s)应该可以工作。你是对的。基本上,您可以获得字符编码并调用
getBytes(getChararcterEncoding())
,这样就不会再有问题了。我编辑了我的答案。很抱歉,如果没有getBytes部分,它将无法工作