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字节,那么我知道在得到完整消息之前我必须等一下.

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...