rt 我转换c#代码成php  里面有句 Encoding.BigEndianUnicode.GetBytes("aa123")  我不知道该用php怎么表达了、。
请大家帮帮忙!

解决方案 »

  1.   

    iconv("字符串原编码","BigEndianUnicode",$str);
      

  2.   

    GB2312、ANSI、Unicode、bigendianUnicode、UTF-8这些都是字符编码。
    就是不知道php支持bigendianUnicode这种编码不,没试过。如果能转成功,那你还要将转换后的结果字符转为16进制的,貌似bigendianUnicode是16进制的。
      

  3.   

    我的是gb2312  就改成 
    iconv("gb2312","BigEndianUnicode",$str); 是吗 我试试
      

  4.   

    还要将转换后的结果字符转为16进制的.
    那样才会和Encoding.BigEndianUnicode.GetBytes("aa123") 的效果一样。
    Encoding.BigEndianUnicode.GetBytes("aa123") 是得到的16进制码
      

  5.   

    urlencode(string $str)吗  
      

  6.   

    function   strToHex($string)   
    {   
          $hex="";   
          for   ($i=0;$i<strlen($string);$i++)   
          $hex.=dechex(ord($string[$i]));   
          $hex=strtoupper($hex);   
          return   $hex;   
       }   
       function   hexToStr($hex)   
       {   
          $string="";   
          for   ($i=0;$i<strlen($hex)-1;$i+=2)   
          $string.=chr(hexdec($hex[$i].$hex[$i+1]));   
          return   $string;   
    }
      

  7.   

    pack("H*",$str); 这个不能用吧。
      

  8.   


    你发的是 476574515147726F75704D73  但是  我得到的是 全是数字的 byte数组啊  
      

  9.   

    你发的得到的结果  476574515147726F75704D73 但是 我得到的是 全是数字的 byte数组啊 
      

  10.   

    说了半天。C#得到的是什么东西?unicode的16进制还是10进制 数组?
      

  11.   

    ac
    {byte[26]}
        [0]: 0
        [1]: 71
        [2]: 0
        [3]: 101
        [4]: 0
        [5]: 116
        [6]: 0
        [7]: 81
        [8]: 0
        [9]: 81
        [10]: 0
        [11]: 71
        [12]: 0
        [13]: 114
        [14]: 0
        [15]: 111
        [16]: 0
        [17]: 117
        [18]: 0
        [19]: 112
        [20]: 0
        [21]: 77
        [22]: 0
        [23]: 115
        [24]: 0
        [25]: 103
    这是c# 得到的   
      

  12.   


    function strToHex($string){   
      $hex=array();   
      for ($i=0;$i<strlen($string);$i++){
    $hex[]=dechex(ord($string[$i]));
      }
      return $hex;   
      }   
    function hexToStr($hex){   
      $string="";   
      foreach ($i=0;$i<count($hex)-1;$i+=2)   
    $string.=chr(hexdec($hex[$i].$hex[$i+1]));   
      return $string;   
    }
    GetBytes得到的是16进制数组。
      

  13.   

    赋值的时候 应该 $hex[i]=dechex(ord($string[$i]));等我试试啊、 、 
      

  14.   

    $o = unpack("C*","aa123");
    print_r($o);//dec
    print_r(array_map("dechex",$o));//hex