Интересно, почему использование msgpack не шифрует в php.php msgpack_pack и как конвертировать в Unity3d C#
Я думаю: «{« id »: 1,« v1 »:« bla »,« v2 »:« foo »}« преобразуется в шестнадцатеричную строку »83 a2 69 64 01 a2 76 31 a3 62 6c 61 a2 76 32 a3 66 6f 6f "
Но в результате получается" 魷 "id": 1, "v1": "bla", "v2": "foo"} " Почему?
Это мой код ниже:
include_once "msgpack.php";
$phpVariable = array("id"=>1, "v1"=>'bla',"v2"=> 'foo');
$json = json_encode($phpVariable,true);
echo $json."<br>";//{"id":1,"v1":"bla","v2":"foo"}
$binaryString = msgpack_pack($json);
echo $binaryString."<br>";//魷"id":1,"v1":"bla","v2":"foo"}
$base64 = base64_encode($binaryString);
echo $base64."<br>";//vnsiaWQiOjEsInYxIjoiYmxhIiwidjIiOiJmb28ifQ==
------------output-----------------------
{"id":1,"v1":"bla","v2":"foo"}
魷"id":1,"v1":"bla","v2":"foo"}
vnsiaWQiOjEsInYxIjoiYmxhIiwidjIiOiJmb28ifQ==
Если я использую только PHP msgpack, не используйте json_encode, , но я не знаю, как конвертировать decodedBytes в Unity3d C#.
Почему вы ожидаете, что msgpack «зашифрует»? Это не библиотека шифрования. – duskwuff
Чего вы хотите достичь? – sectus
Я хочу использовать msgpack для сокращения байтов сообщения ответа, а ответное сообщение не может использовать base64_decode для преобразования в код очистки. Ex: 魷 «id»: 1, «v1»: «bla», «v2»: «foo» } –