1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. void convertUnCharToStr(char* str, unsigned char* UnChar, int ucLen)
  5. {
  6. int i = 0;
  7. for(i = 0; i < ucLen; i++)
  8. {
  9. //格式化输str,每unsigned char 转换字符占两位置%x写输%X写输
  10. sprintf(str + i * 2, "%02x", UnChar[i]);
  11. }
  12. }
  13. void convertStrToUnChar(char* str, unsigned char* UnChar)
  14. {
  15. int i = strlen(str), j = 0, counter = 0;
  16. char c[2];
  17. unsigned int bytes[2];
  18. for (j = 0; j < i; j += 2)
  19. {
  20. if(0 == j % 2)
  21. {
  22. c[0] = str[j];
  23. c[1] = str[j + 1];
  24. sscanf(c, "%02x" , &bytes[0]);
  25. UnChar[counter] = bytes[0];
  26. counter++;
  27. }
  28. }
  29. return;
  30. }
  31. int main()
  32. {
  33. unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab};
  34. char buffer[20];//维数定义些
  35. convertUnCharToStr(buffer, src, 6);
  36. printf("%s\n", buffer);
  37. unsigned char dst[6];
  38. int len = strlen(buffer);
  39. cout << len << endl;
  40. convertStrToUnChar(buffer, dst);
  41. int i = 0;
  42. for(i = 0; i < 6; i++)
  43. {
  44. printf("%x ", dst[i]);
  45. }
  46. cout << endl;
  47. return 0;
  48. }

C语言char*字符串数组和unsigned char[]数组的相互转换的更多相关文章

  1. oc中调用c函数 实现将字符串转换成unsigned char

    帮助码友解决问题,从而复习了一下oc中调用c函数的方式 1,新建c 头文件  test.h 定义 c 函数 #ifndef test_h #define test_h void verificatio ...

  2. C语言中两个相等的char值比较 结果为false

    unsigned char appendChar1[] = {0xD3, 0xD0, 0xCF, 0xDE, 0xB9, 0xAB, 0xCB, 0xBE}; char appendChar2[] = ...

  3. python 调用C++ DLL,传递int,char,char*,数组和多维数组

    ctypes 数据类型和 C数据类型 对照表 ctypes type C type Python type c_bool _Bool bool (1) c_char char 1-character ...

  4. signed char、unsigned char

    什么是无符号char类型?与常见的char类型有何不同? 在c++中有三种不同的字符类型:char,signed char,unsigned char.如果要应用与文本字符,就使用不加限制的char类 ...

  5. 图像处理中像素点的问题:unsigned char 和 char

    以前在做图像处理的时候,一直不太在意这个问题,对图像每个像素点的灰度值,总是认为char也可,unsigned char也可.尽管它们都是8位,但是表示的数的范围却不相同:char: -128~127 ...

  6. 关于 char 和 unsigned char 的区别

    首先卖个关子: 为什么网络编程中的字符定义一般都为无符号的字符?   char buf[16] = {0}; unsigned char ubuf[16] = { 0 };   上面两个定义的区别是: ...

  7. QString unsigned char* 的转换

    QString -> unsigned char* : QString str = "ABCD";  int length = str.length(); unsigned ...

  8. C 中 char、signed char 和 unsigned char 的区别

    C 中 char.signed char 和 unsigned char 的区别 来源:http://bbs.chinaunix.net/thread-889260-1-1.html 参考:https ...

  9. C语言里字符串的解析

      根据给定的字符串,按照一定规则解析字符串,卡住好几次,这次做个笔记,以供参考 函数名称:   strtok 函数原型:   char *strtok(char *s1, const char *s ...

随机推荐

  1. 第三百七十三节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表、验证码表、轮播图表

    第三百七十三节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表.验证码表.轮播图表 创建Django项目 项目 settings.py ...

  2. e821. 设置JScrollPane滚动栏

    A scroll bar in a scroll pane can be set to appear only as needed, always appear, or never appear. B ...

  3. memcache -- 使用场景

    memcache:分布式缓存机制 使用场景: 1.对数据的存储要求不高,就算丢失也关系不大(因为memcache是非持久化存储) 2.不适合单机使用,即不适合将memcache和数据库等都放到同一台机 ...

  4. Hadoop(HA)分布式集群部署

    Hadoop(HA)分布式集群部署和单节点namenode部署其实一样,只是配置文件的不同罢了. 这篇就讲解hadoop双namenode的部署,实现高可用. 系统环境: OS: CentOS 6.8 ...

  5. js 事件调度

    var EventTarget = function () { this._listener = {}; }; EventTarget.prototype = { constructor: this, ...

  6. Android Studio INSTALL_FAILED_UID_CHANGED的解决办法

    使用Android Studio开发Android应用,把Android应用调试安装在手机上时,出现了安装失败的提示:INSTALL_FAILED_UID_CHANGED. 上网找了很多资料: 1.说 ...

  7. 前端常用linux命令

    文件和目录 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回 ...

  8. SmbException: 0xC000007F

      The error code 0xC000007F means: NT_STATUS_DISK_FULL There is not enough space on the disk. https: ...

  9. Python游戏《外星人入侵》来了~

    在游戏<外星人入侵>中,玩家控制着一艘最初出现在屏幕底部中央的飞船.玩家可以使用箭头键左右移动飞船,还可使用空格键进行射击.游戏开始时,一群外星人出现在天空中,他们在屏幕中向下移动.玩家的 ...

  10. MTK 关闭安全模式

    1.当 Android 设备在安全模式(Safe Mode)下工作时,任何的第三方应用程序或相关文件(主要为apk应用程序文件)都不可以使用,但可以使用 Android 设备的任务管理器选项进行卸载或 ...