3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個贊
我猜你byte[]在C#中期望字節(jié)數(shù)組。它與Sparr的解決方案相同,但不是HEX,而是預(yù)期每種方式的int呈現(xiàn)方式(范圍從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) }
注意:輸出數(shù)組是基于1的索引(正如在注釋中指出的那樣)

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個贊
print_r(unpack("H*","The quick fox jumped over the lazy brown dog"))Array ( [1] => 54686520717569636b20666f78206a756d706564206f76657220746865206c617a792062726f776e20646f67 )
T = 0x54,h = 0x68,......
如有必要,可以將結(jié)果拆分為雙十六進(jìn)制字符塊。

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超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 關(guān)注
- 657 瀏覽
添加回答
舉報