gpt4 book ai didi

java - 当 String 是有效的 char 时将 String 转换为 char

转载 作者:行者123 更新时间:2023-11-29 05:23:51 26 4
gpt4 key购买 nike

我正在使用蓝牙进行套接字通信,其中我将十六进制值作为字符串格式的变量。

我会写-

char char1= 0x7D;

但不知何故,如果值 0x7D 是字符串,那么如何将其转换为 char。

比如,我做不到-

String string1 = "0x7D";
char char1 = (char)string1;

有什么方法可以做到这一点?

我想要这个因为我可以用 - 写入套接字

char[] uploadCommand2 =  {0x7d, 0x4d, 0x01, 0x00, 0x01, 0xcb};

但如果 0x7d 是一个像这样的字符串就不行了 --

char[] uploadCommand2 =  {string1, 0x4d, 0x01, 0x00, 0x01, 0xcb};

最佳答案

如果您去除十六进制 String 表示的 0x 前缀,您可以使用 Integer.parseInt 并转换为 char

请参阅下面的编辑 以获取替代方案(可能是更优雅的解决方案)。

String s = "0x7D";
// | casting to char
// | | parsing integer ...
// | | | on stripped off String ...
// | | | | with hex radix
System.out.println((char)Integer.parseInt(s.substring(2), 16));

输出

}

编辑

作为njzk2指出:

System.out.println((char)(int)Integer.decode(s));

... 也可以。

关于java - 当 String 是有效的 char 时将 String 转换为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23519202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com