Chinaunix首页 | 论坛 | 博客
  • 博客访问: 274906
  • 博文数量: 52
  • 博客积分: 1278
  • 博客等级: 中尉
  • 技术积分: 627
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-26 12:46
文章分类

全部博文(52)

文章存档

2013年(1)

2012年(51)

分类: 系统运维

2012-05-21 12:06:45


点击(此处)折叠或打开

  1. function SingleDecToHex($dec)
  2. {
  3.     $tmp="";
  4.     $dec=$dec%16;
  5.     if($dec<10)
  6.         return $tmp.$dec;
  7.     $arr=array("a","b","c","d","e","f");
  8.     return $tmp.$arr[$dec-10];
  9. }
  10. function SingleHexToDec($hex)
  11. {
  12.     $v=ord($hex);
  13.     if(47<$v&&$v<58)
  14.         return $v-48;
  15.     if(96<$v&&$v<103)
  16.         return $v-87;
  17. }
  18. function SetToHexString($str)
  19. {
  20.     if(!$str)return false;
  21.     $tmp="";
  22.     for($i=0;$i<strlen($str);$i++)
  23.     {
  24.         $ord=ord($str[$i]);
  25.         $tmp.=SingleDecToHex(($ord-$ord%16)/16);
  26.         $tmp.=SingleDecToHex($ord%16);
  27.     }
  28.     return $tmp;
  29. }
  30. function UnsetFromHexString($str)
  31. {
  32.     if(!$str)return false;
  33.     $tmp="";
  34.     for($i=0;$i<strlen($str);$i+=2)
  35.     {
  36.         $tmp.=chr(SingleHexToDec(substr($str,$i,1))*16+SingleHexToDec(substr($str,$i+1,1)));
  37.     }
  38.     return $tmp;
  39. }

  40. echo SetToHexString("hello,大家好123");
  41. echo "
    "
    ;

  42. echo UnsetFromHexString(SetToHexString("hello,大家好123"));

阅读(5108) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chenlinbo55882012-05-22 11:36:06

单字节字符 是ASCII 码 10进制方式处理

桔色花朵2012-05-21 21:52:46

16进制与字符间互相转换的原理是什么???