flex – 何时在AS3的ByteArray中使用writeUTF()和writeUTFBytes()

前端之家收集整理的这篇文章主要介绍了flex – 何时在AS3的ByteArray中使用writeUTF()和writeUTFBytes()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试为自己创建一个文件格式,所以我正在为我的文件形成标题.要将已知长度的字符串写入ByteArray,我应该使用哪种方法,writeUTF()或writeUTFBytes().

从Flex 3语言参考,它告诉我writeUTF()预先设置字符串的长度并抛出RangeError,而writeUTFBytes()则不会.

任何建议都将不胜感激.

解决方法

两者之间的唯一区别是writeUTFBytes()不会在消息前加上字符串的长度(RangeError是因为65535是您可以存储在16位中的最大数字)

你在哪里使用一个取决于你正在做什么.例如,我在复制XML对象时使用writeUTFBytes()进行压缩.在这种情况下,我不关心字符串的长度,它会为代码引入额外的东西.

如果您正在编写流/网络服务器,writeUTF()非常有用,在消息长度为消息前缀的前提下,您知道在消息结束之前在另一端流式传输多少字节.例如,我有200个字节的消息.我读取了长度(16位整数),它告诉我消息是100个字节.我读了100个字节,我知道这是一个完整的消息.之后的一切都是另一个信息.如果消息长度表示消息是300字节,那么我知道在得到完整消息之前我必须等一下.

原文链接:https://www.f2er.com/flex/174186.html

猜你在找的Flex相关文章