%2X输出至少占用两个字符位置,如果不足用空格补齐
%02X输出至少占用两个字符位置,如果不足用数字0补齐(加前导0)
不是这样的,如果用Printf输出一个整数,例如printf(”%.2d“,4)那么输出就是04,即是“.2”2是表示要保留的有效数但当要输出的数是整数那么是直接省掉在前面补0的,就像printf(”**%.3d**“,6)输出时006
知道了吗?
char a[]={0x06,0x12}那么a[0]就是十六进制的06,a[1]就是十六进制的12.
输出时直接打:printf("%2x %2x",a[0],a[1]),结果就是06 0C
想看字符的话:printf("%s",a),就行了.
简单说,根本不用转换的,声明一下就行...