我该如何反转此功能

时间:2018-07-25 13:24:23

标签: php image base64 decode encode

如何将$ bytesArray数组反转为$ ras变量
输出以下代码→

Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => 0 [11] => 0 [12] => 0 [13] => 0 [14] => 0 [15] => 0 [16] => 0 [17] => 0 [18] => 0 [19] => 0 [20] => 0 [21] => 0 [22] => 0 [23] => 0 [24] => 0 [25] => 0 [26] => 0 [27] => 255 [28] => 0 [29] => 0 [30] => 0 [31] => 0 [32] => 0 [33] => 0 [34] => 0 [35] => 255 [36] => 0 [37] => 0 [38] => 0 [39] => 0 [40] => 0 [41] => 0 [42] => 0 [43] => 0 [44] => 0 [45] => 0 [46] => 0 [47] => 0 [48] => 0 [49] => 0 [50] => 0 [51] => 0 [52] => 0 [53] => 0 [54] => 0 [55] => 0 [56] => 0 [57] => 0 [58] => 0 [59] => 0 [60] => 0 [61] => 0 [62] => 0 [63] => 255 [64] => 0 [65] => 0 [66] => 0 [67] => 0 [68] => 0 [69] => 0 [70] => 0 [71] => 0 [72] => 0 [73] => 0 [74] => 0 [75] => 0 [76] => 0 [77] => 0 [78] => 0 [79] => 255 [80] => 0 [81] => 0 [82] => 0 [83] => 255 [84] => 0 [85] => 0 [86] => 0 [87] => 0 [88] => 0 [89] => 0 [90] => 0 [91] => 0 [92] => 0 [93] => 0 [94] => 0 [95] => 0 [96] => 0 [97] => 0 [98] => 0 [99] => 255 [100] => 0 [101] => 0 [102] => 0 [103] => 255 [104] => 0 [105] => 0 [106] => 0 [107] => 0 [108] => 0 [109] => 0 [110] => 0 [111] => 0 [112] => 0 [113] => 0 [114] => 0 [115] => 0 [116] => 0 [117] => 0 [118] => 0 [119] => 255 [120] => 0 [121] => 0 [122] => 0 [123] => 0 [124] => 0 [125] => 0 [126] => 0 [127] => 255 [128] => 0 [129] => 0 [130] => 0 [131] => 255 [132] => 0 [133] => 0 [134] => 0 [135] => 255 [136] => 0 [137] => 0 [138] => 0 [139] => 0 )

我无法将此数组转换为反向$ ras变量

<?php

$ras="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAP8AAAD/AAAA/wAAAAA=";

$bytesArray = array();
foreach (str_split(base64_decode($ras)) as $byte) {
    $bytesArray[] = ord($byte);
}
print_r($bytesArray);

?>

1 个答案:

答案 0 :(得分:0)

function encode($string)
{
    $bytesArray = [];

    foreach (str_split(base64_decode($string)) as $byte) {
        $bytesArray[] = ord($byte);
    }

    return $bytesArray;
}


function decode(array $encoded)
{
    $reversed = '';
    foreach ($encoded as $byte) {
        $reversed .= chr($byte);
    }

    return base64_encode($reversed);
}

$ras = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAP8AAAD/AAAA/wAAAAA=";
$encoded = encode($ras);
$decoded = decode($encoded);

echo 'Origin: ', $ras, PHP_EOL;
echo 'Encoded: ', print_r($encoded, true), PHP_EOL;
echo 'Reversed: ', $decoded, PHP_EOL;
echo 'Is origin equals to reversed: ', ((int) ($ras === $decoded)), PHP_EOL;