3 回答
![?](http://img1.sycdn.imooc.com/545845d30001ee8a02200220-100-100.jpg)
TA贡献1784条经验 获得超8个赞
我猜你byte[]在C#中期望字节数组。它与Sparr的解决方案相同,但不是HEX,而是预期每种方式的int呈现方式(范围从0到255)char。你可以这样做:
$byte_array = unpack('C*', 'The quick fox jumped over the lazy brown dog');
var_dump($byte_array); // $byte_array should be int[] which can be converted
// to byte[] in C# since values are range of 0 - 255
通过使用,var_dump您可以看到元素是int(不是string)。
array(44) { [1]=> int(84) [2]=> int(104) [3]=> int(101) [4]=> int(32)
[5]=> int(113) [6]=> int(117) [7]=> int(105) [8]=> int(99) [9]=> int(107)
[10]=> int(32) [11]=> int(102) [12]=> int(111) [13]=> int(120) [14]=> int(32)
[15]=> int(106) [16]=> int(117) [17]=> int(109) [18]=> int(112) [19]=> int(101)
[20]=> int(100) [21]=> int(32) [22]=> int(111) [23]=> int(118) [24]=> int(101)
[25]=> int(114) [26]=> int(32) [27]=> int(116) [28]=> int(104) [29]=> int(101)
[30]=> int(32) [31]=> int(108) [32]=> int(97) [33]=> int(122) [34]=> int(121)
[35]=> int(32) [36]=> int(98) [37]=> int(114) [38]=> int(111) [39]=> int(119)
[40]=> int(110) [41]=> int(32) [42]=> int(100) [43]=> int(111) [44]=> int(103) }
注意:输出数组是基于1的索引(正如在注释中指出的那样)
![?](http://img1.sycdn.imooc.com/545862e700016daa02200220-100-100.jpg)
TA贡献1712条经验 获得超3个赞
print_r(unpack("H*","The quick fox jumped over the lazy brown dog"))Array ( [1] => 54686520717569636b20666f78206a756d706564206f76657220746865206c617a792062726f776e20646f67 )
T = 0x54,h = 0x68,......
如有必要,可以将结果拆分为双十六进制字符块。
![?](http://img1.sycdn.imooc.com/533e4d00000171e602000200-100-100.jpg)
TA贡献1809条经验 获得超8个赞
你可以试试这个:
$in_str = 'this is a test';$hex_ary = array();foreach (str_split($in_str) as $chr) { $hex_ary[] = sprintf("%02X", ord($chr));}echo implode(' ',$hex_ary);
- 3 回答
- 0 关注
- 632 浏览
添加回答
举报