我正在寻找一种方法将字符串转换为其十六进制表示形式的字符串。所以信A
将被表示为0x41
。将字符串转换为C中的无符号字符
我想要做的是使用加密符号0x **的十六进制字符的算法来加密文本文件,其中**类似于字符的十六进制表示法。
我正在从文件读取16个字符的数组到字符数组,然后我应该将它们转换为十六进制表示法,以便我可以将它们传递给加密函数。
我正在使用下面的代码片段将字符数组转换为十六进制。我创建了一个TempBuffer来保存每个字符的十六进制值,所以它将在符号0x **中。我的问题是如何将TempBuffer中的值存储到Unsigned字符数组的元素中。请看下面的代码:
static uint8_t TextToEncrypt[16]; // Declaring the array to store the hexadecimal notation
void ToHex(char InText[]) // The Function to Convert an array of characters to hexadecimal array
{
int i=0;
for(i=0; i<16; i++)
{
char TempBuffer[4]; // Tempbuffer to hold the converted value
sprintf(TempBuffer,"0x%x",InText[i]); // converting to hexadecimal
// Here i need to store the value in TempBuffer which will be something like 0x41 in TextToEncrypt[i] so I can pass it to encryption
}
}
我试了很多,但没有任何结果,我更喜欢有东西保证测试它。我不能发布所有我想要的 –
我认为有什么“十六进制数组”是一些混淆。也许你需要回到真正的问题,即加密代码。 – zaph
您的问题已被问及回答数百次。你应该做一些研究,只需将你的标题转储到网络搜索并阅读前几个结果。 –