-1

文字列化されたバイナリ表現を指定して、文字として扱われる実際のバイナリに変換したいと思います。たとえば、文字列01000001 01000010 01000011 01000001は「ABCA」に変換する必要があります。これは、'A' の ASCII が 65 でバイナリ01000001であるためです。

逆方向の変換の関数は次のとおりです。

String getBinary(String str) {
    String message = str;
    int length = message.length();
    String binaryNumber = "";

    for(int i = 0; i <= length; i++) {
        char c = message.charAt(i);
        binaryNumber = binaryNumber + String(c, BIN) + " ";
    }

    return binaryNumber;
}

私は C++、C、および Java から多くのことを試しました (そしてそれを「Arduino コード」に変換しました) が、何も機能していないようです。誰も私がこれを行う方法を知っていますか?

4

1 に答える 1

0

正直なところ、私はそれをテストしていませんが、これはうまくいくはずです:

String debinaryStringify(String source) {
    String result = "";
    int idxStart = 0;
    do {
        char val = 0;
        for (int i=0; i<8; i++) {
            val += ((source.charAt(idxStart+i) == '1') << (7-i)); // Trick: Assignment of an evaluation result
        }
        result.concat(val);
        idxStart = source.indexOf(' ') + 1;
    } while ( (idxStart > 0) && (idxStart < source.length() - 7) );
    return result;
}
于 2013-04-02T16:43:11.953 に答える