我试图将64位普通十六进制文本转换为二进制文件。您可以在下面的代码中看到我已将class Person(Document):
name = StringField()
address = ListField(DocumentField(Address))
city1 = Address(city='City1')
session.save(ad)
city2 = Address(city='City2')
session.save(city2)
person = Person(name='Ali', address=[city1, city2])
session.save(person)
和plain_Text64
指定为全局变量。但是在执行函数binary_Plain_Text64
之后,hexToBin
的值应该是给定64位纯文本的新二进制值。不幸的是,我得到了其他一些。我在binary_Plain_Text64
函数本身中打印了binary_Plain_Text64
的值,它完美无缺。任何人都可以帮助我吗?
hexToBin
答案 0 :(得分:1)
每次在
中覆盖目标数组的相同4个元素binary_Plain_Text64[k] = hexDigitToBinary[j][k];
我建议使用一个单独的索引变量,在每次使用后递增,例如
int index = 0;
// ...
binary_Plain_Text64[index++] = hexDigitToBinary[j][k];
同样由@ J.Piquard评论,一个数组的输入太短,因为没有字符串终止符的空间
char plain_Text64[16]={};
不要吝啬您的用户输入字符串分配,并尝试限制其输入。