在java中如何输入unicode码出字符,有没有方法,尀 一定不行,因为unicode 码是变量

2025-03-23 06:24:15
推荐回答(1个)
回答(1):

import java.util.Scanner;

public class test_unicode {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入unicode码\n例如:\字\符");
String inStr = sc.nextLine();
System.out.println(decode(inStr));
sc.close();
}

public static String decode(String unicodeStr) {  
    if (unicodeStr == null) {  
        return null;  
    }  
    StringBuffer retBuf = new StringBuffer();  
    int maxLoop = unicodeStr.length();  
    for (int i = 0; i < maxLoop; i++) {  
        if (unicodeStr.charAt(i) == '\\') {  
            if ((i < maxLoop - 5)  
                    && ((unicodeStr.charAt(i + 1) == 'u') || (unicodeStr  
                            .charAt(i + 1) == 'U')))  
                try {  
                    retBuf.append((char) Integer.parseInt(  
                            unicodeStr.substring(i + 2, i + 6), 16));  
                    i += 5;  
                } catch (NumberFormatException localNumberFormatException) {  
                    retBuf.append(unicodeStr.charAt(i));  
                }  
            else  
                retBuf.append(unicodeStr.charAt(i));  
        } else {  
            retBuf.append(unicodeStr.charAt(i));  
        }  
    }  
    return retBuf.toString();  
}  

}