各位好,请教两个问题。
1.取字符的unicode码
例如:'中'的unicode十进制的编码为20013 ,大写'A'为65 ,java里有函数直接获得吗或者有什么好办法实现。2.已知unicode码,转为字符
如: 20013(十进制)在unicode中对应的字符是'中',65对应'A',java里如何转换??50分请教,得到答案马上结帖。
1.取字符的unicode码
例如:'中'的unicode十进制的编码为20013 ,大写'A'为65 ,java里有函数直接获得吗或者有什么好办法实现。2.已知unicode码,转为字符
如: 20013(十进制)在unicode中对应的字符是'中',65对应'A',java里如何转换??50分请教,得到答案马上结帖。
System.out.println("a-->"+(char)a+"\nb-->"+(char)b);输出结果:
a-->中
b-->A
public static void main(String[] a){
String s = "年";
char[] arr = s.toCharArray();
int value = (int)arr[0];//ascii
System.out.println(value);
String hex = Integer.toHexString(value);//unicode
System.out.println(hex);//output: 5e74
System.out.println("\u5e74");
}
}楼主执行下就明白了
int value = (int)arr[0]; //这个应该是10进制的表示形式
放在print是可以的。
为什么放在过程里不行?如下面:
String result = null;
int i = 9;
result = (char)i; //这样不可以。麻烦帮我测试一下,我没有JAVA环境。
Stinr result = null;
int i = 57;
result = (char)i; 输出才是9这个(char)i是按照ascii码转换成字符的你想要获取某个字符的ascii码 就用 char c = '9'; int aci= (int)c;
谢谢,不过我还是不理解:)
麻烦你看一下我的原始题目,我的需求是:已知20013,得到字符'中',unicode的,反之亦然。
如果得到 了 ascii 码,转换成 字符就是 int i = 57; char c = (char)i; c这个就是字符9
1、
举例1:String s = "年";
char[] arr = s.toCharArray();
int value = (int)arr[0];//这个就是你要的那个10进制的ascii码举例2:char s = '年';
int value = (int)s;//这个就是你要的那个10进制的ascii码2、
举例1: '中'的unicode十进制的编码为20013 ,大写'A'为65
int middle = 20013;
char c = (char)20013;//这个就是字符“中”字int A = 65;
char a = (char)65;//这个就是字符A
我有点晕了,你们再仔细看看我的需求好吗。
不过也许我表达得不够清楚。例如下面:
汉字“中”的 Unicode 编码:十进制的为20013,十六进制的是4E2D。
我现在已知20013,要得到字符'中'。反之,我知道字符'中',要得到20013。
int ascii = (int)'中';
System.out.println(ascii);
我现在已知20013,要得到字符'中':
char c = (char)20013;
System.out.println(c);-----
应该清楚了吧……
char v=(char)s;
System.out.println(v);你将result 声明为char不就行了吗?
字符串不行
int i = 9;
result.toCharArray()[0] = (char)i;