PHP后正文编码问题
我试图模仿一个应用程序,它向服务器发送八位字节流,并从服务器发送八位字节流。正文中包含的数据看起来像原始字节,我相当确定为每个命令发送的数据是静态的,因此我希望将字节映射到我的应用程序中更可读的内容。例如,我将有一个数组执行以下操作:PHP后正文编码问题,php,http,post,encoding,bytearray,Php,Http,Post,Encoding,Bytearray,我试图模仿一个应用程序,它向服务器发送八位字节流,并从服务器发送八位字节流。正文中包含的数据看起来像原始字节,我相当确定为每个命令发送的数据是静态的,因此我希望将字节映射到我的应用程序中更可读的内容。例如,我将有一个数组执行以下操作:“test”=>“&^D^^&@*#dgkel”,因此我可以调用“test”并获取需要发送的实际字节。问题是,PHP似乎在转换这些字节。我不确定这是一个编码问题还是什么问题,但发生的是我会给它一些字节(例如,�ھ����@�qs�������������������
“test”=>“&^D^^&@*#dgkel”
,因此我可以调用“test”并获取需要发送的实际字节。问题是,PHP似乎在转换这些字节。我不确定这是一个编码问题还是什么问题,但发生的是我会给它一些字节(例如,�ھ����@�qs��������������������X����������������������������代码>),我相信它的长度是67,但PHP会说(当我对HTTP请求进行var_转储时),发送的头包含“Content length:174”或者类似的东西,字节看起来像据《代码》报道,在今年5月的两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两掴掴掴掴掴掴掴掴掴掴掴掴掴掴掴掴掴掴
所以我真的不知道如何解决这个问题。。有人有什么想法吗?干杯
编辑,一点PHP:
$request = new HttpRequest($this->GetMessageURL(), HTTP_METH_POST);
$request->addHeaders($headers);
$request->addRawPostData($buttonMapping[$button]);
$request->send();
你有什么代码可以分享吗?是的,对我来说,听起来也是个编码问题。在没有看到任何细节的情况下,我建议考虑base64编码/解码以避免问题……PHP中的字符串总是使用脚本文件的编码进行编码。在您的例子中,您似乎已经使用Unicode编码(可能是UTF-8)将此二进制数据插入到文件中,并且您的编辑器在粘贴二进制数据时进行了编码转换。以不同格式惰性化二进制数据(例如十六进制转义序列“\xhh”
)应该可以在这里工作。我将添加代码,但没有帮助。至于base64编码,我应该在将其添加到应用程序之前对其进行编码,并在发送时进行解码,还是应该实际将数据作为base64编码的数据发送,并发送一个头来告诉服务器它已编码。如果该头存在,服务器会默认解码吗?@Gumbo,我应该如何添加十六进制转义序列。。你能举例说明吗?@Gumbo,哦,我明白你的意思。。我要试一试!