Java字符串转换为字符

6
我有一个代表字符的十六进制值的字符串,例如:“0x6d4b”。我该如何将其作为字符获取出来?
String c = "0x6d4b";
char m = ???

请尝试查看此链接:https://dev59.com/zHNA5IYBdhLWcg3wh-YC - Andrea Girardi
4个回答

9
// Drop "0x" in order to parse
String c = "6d4b";
// Parse hexadecimal integer
int i = Integer.parseInt( c, 16 );
// Note that this method returns char[]
char[] cs = Character.toChars( i );
// Prints 测
System.out.println( cs );

1
你确定它不只是 (char)i 吗? - Hachi
是的,如果结果值被用作 char,那么结果是相同的。方法调用还提供了即时可用的 javadoc,告诉您实际得到的内容。 - Gustav Barkefors

2
String s = "6d4b";
int i = Integer.parseInt( s, 16 );   // to convert hex to integer
char ca= (char) i;
System.out.println(ca);

System.out.println((char)Integer.parseInt(c.substring(2), 16)); - LiuYan 刘研

0
System.out.println((char)Integer.parseInt("6d4b",16));

-1

试试这个,

String s ="0x6d4b" ;
        char[] c = s.toCharArray();

        for (char cc : c){

            System.out.print(cc);
        }

你在发布前测试过吗?因为它并没有起作用。顺便说一下,这不是被要求的内容。所以得-1分。 - Adil Shaikh
@MohammadAdil 在编译方面它在我的电脑上可以运行,但你说得对,这不是想要的。 - Miquel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接