Actionscript里的进制及编码转换
转自:http://www.xiiid.com/blog/article.asp?id=166
进制和编码转换一直以来都是新手们头疼的问题, 加上对于AS的不熟悉, 经常会出现做一些小题大作的事情.
有时一提起进制转换(如:把16进制转成10进制), 新手一问, 很多大虾
就大费周折, 自己动手写了 [x]2[x] 的 函数
. 其实这是完全不必要的, 因为这么简单的小事情, 怎么可能会难倒我们伟大的Flash呢.
以下是木頭(Mutoo)我从帮助里收集整理出来的与进制和编码有关的函数, 希望对大家有点帮助.
将字符串转换为浮点数
trace(parseFloat("-2"));
// output: -2
trace(parseFloat("2.5"));
// output: 2.5
trace(parseFloat(" 2.5"));
// output: 2.5
trace(parseFloat("3.5e6"));
// output: 3500000
trace(parseFloat("foobar"));
// output: NaN
trace(parseFloat("3.75math"));
// output: 3.75
trace(parseFloat("0garbage"));
// output: 0
将字符串转换为整数
trace(parseInt("3.5"));
// output: 3
trace(parseInt("bar"));
// output: NaN
trace(parseInt("4"));
// output: 4foo
trace(parseInt("0x3F8"));
// output: 1016
trace(parseInt("3E8", 16));
// output: 1000
trace(parseInt("1010", 2));
// output: 10
trace(parseInt("0777"));
// output: 511
trace(parseInt("777", 8));
// output: 511
输出指定的 Number 对象 的字符串表示形式
trace(Number(7).toString());
// output: 7
trace(Number(9).toString(2));
// output: 1001
trace(Number(13).toString(8));
// output: 15
trace(Number(13).toString(10));
// output: 13
trace(Number(16).toString(16));
// output: 10
var r:Number = new Number(250);
var g:Number = new Number(128);
var b:Number = new Number(114);
var rgb:String = "0x"+r.toString(16)+g.toString(16)+b.toString(16);
trace(rgb);
// output: rgb:0xFA8072 (Hexadecimal equivalent of the color 'salmon')
输出的字符的 16 位整数字符代码
trace(String("a").charCodeAt(0));
// output: 97
trace(String("嗨").charCodeAt(0));
// output: 21992
输出由参数中的 Unicode 值表示的字符组成的字符串
trace(String.fromCharCode(20320,22909,21568));
// output: 你好呀
trace(String.fromCharCode(29233));
// output: 爱
将参数转换为字符串,并以 URL 编码格式对其进行编码
var email:String = "someuser@somedomain.com";
trace(escape(email));
// output: someuser%40somedomain%2Ecom
将该字符串从 URL 编码格式解码
trace(unescape("someuser%40somedomain%2Ecom"));
// output: someuser@somedomain.com
--------------------
10进制转16进制: "0x
"+Number("10").toString(16)
16进制转10进制: parseInt("0x3F8") 或 parseInt("3E8", 16)
其它转法大同小异
10进制转8进制: "0
"+Number("10").toString(8)
8进制转10进制: parseInt("0777") 或 parseInt("777", 8)
另外附上一个用 String.chatCodeAt() 做的 unicode反查工具 http://www.xiiid.com/blog/article.asp?id=162
转自:http://space.flash8.net/bbs/thread-338612-1-1.html
分享到:
相关推荐
这个压缩包文件包含了一些关于AS3中字符编码转换的关键知识点。 首先,`ByteArray` 对象是AS3中处理二进制数据的基本工具,它可以用来读写各种数据类型,包括字符串。`writeMultiByte()` 方法是`ByteArray`的一个...
在AS3(ActionScript 3)中,将PNG图片转换为二进制数据是一种常见的优化图像加载和显示的方法。这主要是因为二进制数据能够更有效地处理和传输,特别是对于大量图片的应用,如游戏或者多媒体项目。以下是关于这个...
- 数据的编码:输入的字符串通常需要先转换为字节流,因为MD5处理的是字节数据。 - 性能优化:对于大量数据的MD5计算,可以考虑使用异步处理或分块计算来提高效率。 - 安全性:由于MD5的碰撞问题,不应用于安全敏感...
2. **反编译工具**:市面上存在多种反编译工具,如Sothink SWF Decompiler、SWFDecompiler等,它们能够将SWF文件转换回FLA(Flash源文件)或者ActionScript源代码,使得原始设计和逻辑暴露无遗。 3. **防止反编译的...
Blooddy_crypto库提供的Base64编码和解码功能,能够方便地进行二进制数据与文本之间的转换,对于处理电子邮件、网页数据等场景非常有用。 CRC32(Cyclic Redundancy Check with 32-bit polynomials)是一种常用的...
6. **ActionScript和二进制转换**: 如果EXE包含需要在SWF中执行的逻辑,你可能需要将ActionScript代码与原始的程序逻辑相结合。这需要对ActionScript有一定的了解,并能够将非ActionScript代码转化为等效的...
4. 在ActionScript 3代码中,你可以实例化`Person`类,填充数据,然后使用Protocol Buffer提供的方法将其编码为二进制流,发送到服务器。同样,从服务器接收的二进制数据也可以反序列化回`Person`对象。 ```as3 ...
Base64编码是一种在互联网上广泛使用的数据编码方式,它将任意二进制数据转换成ASCII字符串形式,以便在网络传输中不受字符集限制。在FLEX编程中,Base64编码同样扮演着重要角色,特别是在处理图像、XML、JSON等二...
《ActionScript 3.0 精彩范例词典》是针对ActionScript 3.0编程语言的一个实用工具,提供了丰富的示例和函数用法,涵盖了基本语法、全局函数以及类对象等多个方面。ActionScript 3.0是Adobe Flash平台的核心编程语言...
1. SWF文件特性:SWF文件是基于ActionScript(一种脚本语言)和Flash图形的二进制文件,支持矢量图形、音频、视频和交互性。它广泛应用于网页设计、在线广告和多媒体教学等领域,因为它们具有较小的文件大小和跨平台...
- **性能考虑**:处理大尺寸图像时,Base64编码可能会导致较大的带宽消耗和延迟,因此在实际应用中应考虑优化方案,如采用更高效的压缩格式或减少不必要的编码转换。 #### 总结 通过上述代码示例,我们了解了如何...
通常,这种转换可能涉及编码、解码以及对视频和音频流的处理。在IT领域,这可能涵盖了多媒体处理技术、编程语言(如ActionScript或Java)、开源库(如FFmpeg)等知识。 从“源码”这个标签来看,这篇博客可能包含了...
SWF文件本身是二进制格式,包含矢量图形、音频、视频和ActionScript代码,使得它能够实现复杂的交互和动态效果。然而,由于SWF不是开放标准,它的兼容性和可访问性受到了限制。转换软件的目标就是帮助用户将这些文件...
4. **编码与压缩**:转换完成后,所有元素会被编码为SWF文件的二进制格式,并进行压缩以减小文件大小。SWF文件的结构基于FLV(Flash Video)格式,但包含更多关于交互和动画的信息。 5. **使用工具**:在实际操作中...
5. **处理媒体数据**:加载的媒体文件数据通常以二进制格式存在,我们需要将其转换为可以播放的形式。对于视频,可以将数据流传递给`Video`对象;对于音频,可能需要使用`Sound`和`SoundChannel`类来处理。 6. **...
由于SWF文件是编译过的二进制格式,但相比.exe文件,它更容易被反编译和解析,因此,将.exe转换为.swf可以帮助开发者研究代码结构和逻辑,尤其是对于那些没有源代码的闭源软件。 转换过程通常涉及以下几个步骤: 1...
"AS3.0的Mp3编码类"是这样的一个工具,它允许开发者将捕获到的实时音频数据转换为广泛支持的MP3格式,以便于存储、传输或播放。MP3是一种有损音频压缩格式,以其高效的压缩比和高质量的音质而闻名。 在AS3中实现MP3...
2. **指令集转换**:exe文件包含CPU指令,需要将其转换为Flash ActionScript,这涉及到汇编语言和ActionScript之间的映射,以及控制流程的重新构造。 3. **图形和资源处理**:exe文件可能包含图像、音频等资源,...
“GIFEncoder”库主要用于编码,允许开发者将位图数据转换为GIF格式。而“GIF89a”库则更全面,它不仅包含编码功能,还支持解码,可以将GIF文件加载到AS3环境中并播放。这些库通常包含GIFHeader、GIFImage、GIFFrame...
1. **编码与解码**:AMF编码器将ActionScript对象转换为二进制流,而解码器则将二进制流还原为ActionScript对象。编码过程涉及类型标记、值序列化等步骤,解码过程则包括类型识别、值反序列化等。 2. **类型支持**...