在java中如何输入unicode码出字符,有没有方法,\ 一定不行,因为unicode 码是变量
2016-11-30
展开全部
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例如:\\u5b57\\u7b26");
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();
}
}
追问
我是正在研究本人自己的输入法,所以unicode输入法是我的辅助输入法,其形式为字符+\t+\unicode码,就像这样
\20
! \21
一共1048575个,除去D7A4~E80F和E865~F8FF还有1040117个如果不用循环,什么时候能打完?
java有往记事本上写的功能,那么写就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询