0

我正在尝试将字符串划分为 char 数组。我有一个程序可以将 char 数组(7 个字符)从二进制转换为 ASCII 文本。所以我想要做的是将字符串分解为 'Arduino 代码' 或 C、C++ 或 Java 中的 7 个字符的字符数组。有什么建议么?谢谢!

编辑:

这是我正在使用的程序:

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;

}
4

2 回答 2

8

您可以使用:

String s = "java";
char[] ch = s.toCharArray();

更新
好吧,在我的声誉列表中看到一个红色 (-2) 点后,我正在看这篇文章。令我惊讶的是,这个问题与我回答的问题不同。现在,在阅读您的已编辑问题后,我将发布新答案。您可以使用方法来实现您在JavaInteger.parseInt()中寻找的东西。这是如何使用此方法的简短演示:

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));
    }
}

上述代码的输出是:

Hello World

您也可以检查其他输入。如果它适用于所有可接受的输入,请告诉我。

于 2013-04-03T21:13:47.013 回答
0

What do you mean? A C\C++ string is essentially an array of character.. If you have a pointer to a char (=string) then there's your array. Otherwise if you have an std::string, you can use its .c_str() method.

于 2013-04-03T21:15:48.537 回答