010*_*011 0 c c++ java arrays char
我试图将字符串分成char数组.我有一个程序将char数组(7个字符)从二进制转换为ASCII文本.所以我要做的是将一个字符串分解为'Arduino代码'或C,C++或Java中的7个字符的char数组.有什么建议?谢谢!
编辑:
这是我正在使用的程序:
String getText(String str) {
String text = "";
char bits[] = "1001000";
char new_char = 0;
for (int i = 7; i >= 0; i--)
{
int current_bit = bits[i] - '0';
new_char |= current_bit << (7-i);
}
text += (String) new_char + "";
return text;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用:
String s = "java";
char[] ch = s.toCharArray();
Run Code Online (Sandbox Code Playgroud)
更新
嗯,我看到这个帖子后,我在声望列表中看到一个红色(-2)点.令我惊讶的是,这个问题与我所回答的内容有所不同.现在,在阅读了您编辑的问题后,我发布了新答案.您可以使用Integer.parseInt()方法来实现您在Java中寻找的内容.以下是如何使用此方法的简短演示:
class BinaryToWords
{
static String returnString(String input)
{
String parts[] = input.split("\\s+");
StringBuilder sBuilder = new StringBuilder();
for (String part : parts)
{
int i = Integer.parseInt(part, 2);//Parses the string argument(part) as a signed integer in the radix(2).
char ch = (char)i;
sBuilder.append(String.valueOf(ch));
}
return sBuilder.toString();
}
public static void main(String[] args)
{
String binary = "1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100";//Input the binary format.
System.out.println(returnString(binary));
}
}
Run Code Online (Sandbox Code Playgroud)
上面代码的输出是:
Hello World
Run Code Online (Sandbox Code Playgroud)
您也可以检查其他输入.并告诉我它是否适用于所有可接受的输入.