Actionscript 3 URLLoader请求数据格式为文本,但它遇到二进制问题?

Actionscript 3 URLLoader请求数据格式为文本,但它遇到二进制问题?,actionscript-3,apache-flex,flex4,flex4.5,Actionscript 3,Apache Flex,Flex4,Flex4.5,我有一个URLLoader,它通常要求数据采用文本格式,无论如何,在特定条件下,它可能会得到一个二进制结果,实际上它只是二进制格式的1个整数。不管怎样,对话: var ba : ByteArray = ( e.currentTarget as URLLoader ).data; // failing on this row. var r : int = ba.readInt(); 由于请求头导致结果数据为文本格式,因此不再传递 如何将结果数据转换为整数 基本读取和写入整数到字节数组 基本读

我有一个URLLoader,它通常要求数据采用文本格式,无论如何,在特定条件下,它可能会得到一个二进制结果,实际上它只是二进制格式的1个整数。不管怎样,对话:

var ba : ByteArray = ( e.currentTarget as URLLoader ).data; // failing on this row.
var r : int = ba.readInt();
由于请求头导致结果数据为文本格式,因此不再传递

  • 如何将结果数据转换为整数
基本读取和写入整数到字节数组


基本读取和写入整数到字节数组

如果您确定接收到int,请键入:

var value:int= int(( e.currentTarget as URLLoader ).data);
如果您得到字符串或XML,您可以做同样的事情

但如果您希望以ByteArray形式接收数据,则应在URLLoader行上加载之前键入:

import flash.net.URLLoaderDataFormat;
urlloader.dataFormat = URLLoaderDataFormat.BINARY;

然后,您的数据将以字节数组的形式显示。

如果您确定接收到int,请键入:

var value:int= int(( e.currentTarget as URLLoader ).data);
如果您得到字符串或XML,您可以做同样的事情

但如果您希望以ByteArray形式接收数据,则应在URLLoader行上加载之前键入:

import flash.net.URLLoaderDataFormat;
urlloader.dataFormat = URLLoaderDataFormat.BINARY;

您的数据将以数组形式存储。

简单地说,您需要更改

urlLoader.dataFormat=URLLoaderDataFormat.BINARY
但在你发出请求之前。之后,这样做没有意义

编辑

将文本读入二进制(字节数组)


简单地说,你需要改变

urlLoader.dataFormat=URLLoaderDataFormat.BINARY
但在你发出请求之前。之后,这样做没有意义

编辑

将文本读入二进制(字节数组)


这与我的情况不同。我得到了一个二进制数据,它实际上被错误地表示为一个文本。我需要将其转换回二进制数据,然后可能从中读取整数。|这与我的情况不同。我得到了一个二进制数据,它实际上被错误地表示为一个文本。我需要将其转换回二进制数据,然后可能从中读取整数。数据格式可以在接收到数据后切换?数据格式可以在接收到数据后切换?问题是我不是以二进制请求的形式发送它,而是文本,无论如何,在非常特殊的情况下,服务器将返回一个要处理的二进制数据,然后头砰砰响开始:|是的。事实上,我已经尝试过这种方法,但得出的数字并不是真正从服务器发送的数字..:|问题是,我不是以二进制请求的形式发送它,而是以文本的形式发送,无论如何,在非常特定的情况下,服务器将返回一个二进制数据进行处理,然后开始发送消息:|是的。事实上,我已经尝试过这种方法,但得出的数字并不是真正从服务器发送的数字..:|