将大量二进制输入字符串转换为字符串C

T·普鲁登

我根本不熟悉 C,所以这可能是一个很容易解决的问题。我正在尝试采用二进制字符序列的输入 char* 数组,例如。“0100100001101001”,并输出其相关字符串(“Hi”)。我遇到的问题是想办法将输入拆分为长度为 8 的单独字符串,然后单独转换它们以最终获得完整的输出字符串。

char* binaryToString(char* b){
    char binary[8];
    for(int i=0; i<8; ++i){
    binary[i] = b[i];
}
printf("%s", binary);
}

我知道如何将 8 位转换为它的字符,我只需要一种方法来拆分输入字符串,以允许我转换大量 8 位二进制字符的输入。

任何帮助表示赞赏...谢谢!

亚当

据我所知,您的 binaryToString() 函数没有按照您的意愿行事。print 语句只打印 char* b 指向的地址的前八个字符。

相反,您可以使用标准 C 函数 strtol() 将 8 位字符串转换为整数。无需进一步转换,因为二进制、十六进制、十进制等都只是相同数据的表示!因此,一旦将字符串转换为 long,就可以使用该值来表示 ASCII 字符。

更新实现(如下所示),然后您可以利用它来打印整个序列。

#include <stdio.h>
#include <string.h>

void binaryToString(char* input, char* output){

    char binary[9] = {0}; // initialize string to 0's

    // copy 8 bits from input string
    for (int i = 0; i < 8; i ++){
        binary[i] = input[i];    
    }

    *output  = strtol(binary,NULL,2); // convert the byte to a long, using base 2 
}

int main()
{

    char inputStr[] = "01100001011100110110010001100110"; // "asdf" in ascii 
    char outputStr[20] = {0}; // initialize string to 0's

    size_t iterations = strlen(inputStr) / 8; // get the # of bytes

    // convert each byte into an ascii value
    for (int i = 0; i < iterations; i++){
        binaryToString(&inputStr[i*8], &outputStr[i]);
    }

    printf("%s", outputStr); // print the resulting string
    return 0;
}

我编译了这个,它似乎工作正常。当然,这可以更干净、更安全,但这应该可以帮助您入门。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++从字符串输入将二进制转换为十进制

来自分类Dev

将二进制字符串转换为ASCII字符串(C ++)

来自分类Dev

将字符串转换为二进制?

来自分类Dev

将二进制转换为字符串

来自分类Dev

将字符串转换为二进制?

来自分类Dev

将十六进制字符串转换为二进制字符串

来自分类Dev

将二进制字符串转换为二进制

来自分类Dev

将二进制字符串转换为二进制

来自分类Dev

将二进制字符串转换为二进制补码

来自分类Dev

将二进制字符串(ASCII)转换为二进制文件

来自分类Dev

Python 将二进制字符串转换为二进制整数

来自分类Dev

Arduino C / C ++将二进制字符串转换为十进制

来自分类Dev

将十六进制字符串转换为二进制字符串C#

来自分类Dev

将二进制字符串转换为JavaScript中的字符串

来自分类Dev

将二进制字符串转换为JavaScript中的字符串

来自分类Dev

将二进制字符串转换为JavaScript中的字符串

来自分类Dev

将二进制字符串转换为JavaScript中的字符串

来自分类Dev

C ++-将字符串二进制链转换为int二进制链

来自分类Dev

Unicode字符串转换为二进制字符串,二进制字符串转换为unicode C#

来自分类Dev

需要帮助将二进制数转换为C中的字符串

来自分类Dev

Python:从二进制转换为字符串

来自分类Dev

二进制代码转换为字符串

来自分类Dev

将任何文件转换为二进制字符串并从二进制转换为文件

来自分类Dev

如何将二进制字符串的文字字符串表示形式转换为二进制字符串?

来自分类Dev

在Python中,尝试将整数转换为字符并放入二进制“字符串”

来自分类Dev

在Python中,尝试将整数转换为字符并放入二进制“字符串”

来自分类Dev

Java:将二进制字符串转换为十六进制字符串

来自分类Dev

将二进制字符串转换为十六进制字符串JAVA

来自分类Dev

颤振如何将十六进制字符串转换为二进制字符串?

Related 相关文章

  1. 1

    C ++从字符串输入将二进制转换为十进制

  2. 2

    将二进制字符串转换为ASCII字符串(C ++)

  3. 3

    将字符串转换为二进制?

  4. 4

    将二进制转换为字符串

  5. 5

    将字符串转换为二进制?

  6. 6

    将十六进制字符串转换为二进制字符串

  7. 7

    将二进制字符串转换为二进制

  8. 8

    将二进制字符串转换为二进制

  9. 9

    将二进制字符串转换为二进制补码

  10. 10

    将二进制字符串(ASCII)转换为二进制文件

  11. 11

    Python 将二进制字符串转换为二进制整数

  12. 12

    Arduino C / C ++将二进制字符串转换为十进制

  13. 13

    将十六进制字符串转换为二进制字符串C#

  14. 14

    将二进制字符串转换为JavaScript中的字符串

  15. 15

    将二进制字符串转换为JavaScript中的字符串

  16. 16

    将二进制字符串转换为JavaScript中的字符串

  17. 17

    将二进制字符串转换为JavaScript中的字符串

  18. 18

    C ++-将字符串二进制链转换为int二进制链

  19. 19

    Unicode字符串转换为二进制字符串,二进制字符串转换为unicode C#

  20. 20

    需要帮助将二进制数转换为C中的字符串

  21. 21

    Python:从二进制转换为字符串

  22. 22

    二进制代码转换为字符串

  23. 23

    将任何文件转换为二进制字符串并从二进制转换为文件

  24. 24

    如何将二进制字符串的文字字符串表示形式转换为二进制字符串?

  25. 25

    在Python中,尝试将整数转换为字符并放入二进制“字符串”

  26. 26

    在Python中,尝试将整数转换为字符并放入二进制“字符串”

  27. 27

    Java:将二进制字符串转换为十六进制字符串

  28. 28

    将二进制字符串转换为十六进制字符串JAVA

  29. 29

    颤振如何将十六进制字符串转换为二进制字符串?

热门标签

归档