我正在编写一个程序,将String“123124125”转换为长度为3的整数数组,如下所示:
int[0] = 123
int[1] = 124
int[2] = 125
让我们说密文字符串有123124125。
我用过:
int number[100];
int length1 = ciphertext-> Length;
int count = 0;
int count1 = 0;
char w[100];
while (count1 < length1)
{
number[count] = (ciphertext[count1] * 100) + (ciphertext[count1 + 1] * 10) + ciphertext[count1 + 2];
count++;
count1 = count1 + 3;
}
然后我希望使用这个公式解密它并直接转换为字符串:
for (int i = 0; i < sizeof(number); i++)
{
String ^ demessage += Convert::ToChar(number[i] ^ (int(key) * 2 + int(key) / int(key)) % 255);
}
但它显示以下结果:
5553195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195 -.................................... 1849664615
我哪里错了? 我是否需要先将int转换为char,然后继续使用公式?
感谢。非常感谢您的帮助。
答案 0 :(得分:0)
我是C#开发人员,因此语法可能有点不正确:
试试这个:
String ^ demessage = "";
for (int i = 0; i < sizeof(number); i++)
{
demessage += number[i].ToString("000");
}
这样每个数字都转换为字符串表示。因此,值number[0]
的{{1}}将转换为字符串123
并添加到"123"
。