如何将字符串分成char数组

时间:2013-04-03 21:13:01

标签: java c++ c 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;

}

2 个答案:

答案 0 :(得分:7)

您可以使用:

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

<强>更新
好吧,在我的声望列表中看到红色(-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));
    }
}

上述代码的输出是:

Hello World

您也可以检查其他输入。并告诉我它是否适用于所有可接受的输入。

答案 1 :(得分:-1)

你是什​​么意思? C \ C ++字符串本质上是一个字符数组..如果你有一个指向char(= string)的指针,那么就是你的数组。否则,如果你有一个std :: string,你可以使用它的.c_str()方法。