C中二进制文件的解码器

时间:2017-01-21 17:26:25

标签: c binary decode

我需要解码二进制文件中的文本并将其与我的程序中的文本(由用户编写)进行比较,我还需要将文本解码为二进制文本。 示例:011011000110111101101100 =>大声笑          lol => 011011000110111101101100 它应该是2个功能 我该怎么做?

1 个答案:

答案 0 :(得分:0)

我理解,所以这是它的工作原理:

  • 你需要一个函数可以转换8位二进制数(可以在数字后加'0'总是有8位),你得到的每个数字都可以用ASCII表转换,例如l是108,我假设你已经知道了
  • 另一个函数可以将ASCII字符转换为8位二进制数

二进制到十进制:

01101100 -> 0.2^0 + 0.2^1 + 1.2^2 + 1.2^3 + 0.2^4 + 1.2^5 + 1.2^6 + 0.2^7

很容易

十进制到二进制: 得到剩下的和商:

108/2 : q = 54 r = 0
54/2  : q = 27 r = 0
27/2  : q = 13 r = 1
13/2  : q = 6  r = 1
6/2   : q = 3  r = 0
3/2   : q = 1  r = 1

取最后一个商和所有其余:1101100,添加0得到8位:01101100