AS3 编码转换函数
as3.0新增公共类函数,用法类似与javascript里的escape、encodeURI、encodeURIComponent等... 1.decodeURI () 函数 [as3.0新增] as3.0语法: public function decodeURI(uri:String):String 语法: public function decodeURI(uri:String):String 返回一个已编码的统一资源标识符 (URI) 的非编码形式。 如果将编码结果传递给 encodeURI,则将返回初始的字符串。decodeURI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用 decodeURIComponent 对这些字符进行编码。 输入 输出 %23 # %24 $ %26 & %2B + %2C , %2F / %3A : %3B ; %3D = %3F ? %40 @ 参数: uri:String--表示编码 URI 的字符串。 返回:字符串 实例: 复制内容到剪贴板 代码:package { import flash.display.Sprite; public class decodeURIExample extends Sprite { public function decodeURIExample() { var uri:String = "http://www.example.com/application.jsp?user=%3Cuser%20name='some%20user'%3E%3C/user%3E"; var decoded:String=decoded(uri); trace(decoded); // http://www.example.com/application.jsp?user=<user name='some user'></user> } } } } 2.decodeURIComponent () 函数 [as3.0新增] as3.0语法: public function decodeURIComponent(uri:String):String 返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。 参数: uri:String--一个表示已编码的 URI 组件的值. 返回:字符串 实例: 复制内容到剪贴板 代码:??? 3.encodeURI () 函数 [as3.0新增] as3.0语法: public function encodeURI(uri:String):String 返回编码为有效的统一资源标识符 (URI) 的字符串。 如果将编码结果传递给 decodeURI,则将返回初始的字符串。encodeURI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用 encodeURIComponent 对这些字符进行编码。 非编码: 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ; / ? : @ & = + $ , # - _ . ! ~ * ' ( ) 参数: uri:String--表示编码 URI 的字符串 返回:字符串 复制内容到剪贴板 代码:package { import flash.display.Sprite; public class encodeURIExample extends Sprite { public function encodeURIExample() { var uri:String = "http://www.example.com/application.jsp?user=<user name='some user'></user>"; var encode:String=encodeURI(uri); trace(encode); // http://www.example.com/application.jsp?user=%3Cuser%20name='some%20user'%3E%3C/user%3E } } } } 4.encodeURIComponent () 函数 [as3.0新增] as3.0语法: public function encodeURIComponent(uri:String):String 返回编码为统一资源标识符 (URI) 的有效组件的字符串。 参数: uri:String--表示编码 URI 组件的字符串。 返回:字符串 实例: 复制内容到剪贴板 代码:??? 5.escape () 函数 as3.0语法: public function escape(str:String):String 返回一个可在所有计算机上读取的编码 String 对象。 将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,所有非字母数字的字符都替换为 % 十六进制序列。当用于 URL 编码的字符串中时,百分号 (%) 用于引入转义符,不与模运算符 (%) 等效。 参数: str:String--要编码的任何 String 对象或文本(转换为字符串并以 URL 编码格式进行编码的表达) 返回:字符串 实例一: 复制内容到剪贴板 代码://下面的代码生成结果 someuser%40somedomain%2Ecom: var email:String = "someuser@somedomain.com"; trace(escape(email)); 实例二: 在此示例中,at 符号 (@) 被替换为 %40,而点符号 (.) 被替换为 %2E。如果您要尝试将信息传递到远程服务器,并且数据中包含特殊字符(例如,& 或 ?),则它非常有用,如下面的代码所示: 复制内容到剪贴板 代码:var redirectUrl:String = "http://www.somedomain.com?loggedin=true&username=Gus"; sendToURL("http://www.myothersite.com?returnurl="+ escape(redirectUrl)); 6.unescape () 函数 as3.0语法: public function unescape(str:String):String 将参数 str:String作为字符串计算,将该字符串从 URL 编码格式解码(将所有十六进制序列转换为 ASCII 字符),并返回该字符串。 参数: str:String--要转义的十六进制序列字符串 返回:字符串 实例: 下面的示例说明转义到反向转义的转换过程: 复制内容到剪贴板 代码:var email:String = "user@somedomain.com"; trace(email); var escapedEmail:String = escape(email); trace(escapedEmail); var unescapedEmail:String = unescape(escapedEmail); trace(unescapedEmail); |