gpt4 book ai didi

c - ASCII 字符串到十六进制整数的转换

转载 作者:行者123 更新时间:2023-11-30 15:47:39 24 4
gpt4 key购买 nike

我想将 16 字节的 ascii 字符串转换为 16 字节的十六进制整数。请帮忙。这是我的代码:

uint stringToByteArray(char *str,uint **array)
{

uint i, len=strlen(str) >> 1;

*array=(uint *)malloc(len*sizeof(uint));

//Conversion of str (string) into *array (hexadecimal)

return len;

}

最佳答案

如果您正在寻找以十六进制形式打印整数,这可能会有所帮助:

#include <stdio.h>

int main() {
/* define ASCII string */
/* note that char is an integer number type */
char s[] = "Hello World";
/* iterate buffer */
char *p;
for (p = s; p != s+sizeof(s); p++) {
/* print each integer in its hex representation */
printf("%02X", (unsigned char)(*p));
}
printf("\n");
return 0;
}

如果您只想将 char 数组转换为 1 字节整数数组,那么您就已经完成了。 char 已经是整数类型。您可以使用已有的缓冲区,或使用 malloc/memcpy 将数据复制到新缓冲区。

您可能想查看 stdint.h 中定义的显式宽度整数类型,例如,uint8_t 表示一字节无符号整数。

关于c - ASCII 字符串到十六进制整数的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com