关于URI编码与解码


      当Adobe Air向系统中写入文件的时候,你使用的文件的URI的内容在写入的时候会被解码
      比如 %E6%82%A8%E5%A5%BD 是 "您好" 的URI编码,如果你在桌面创建这个文件夹时直接将文件夹的名字定为: %E6%82%A8%E5%A5%BD ,这时你实际创建的文件夹的名字是: 您好,原因是%E6%82%A8%E5%A5%BD这个URI编码被解码了

      当Adobe Air从系统读取文件的时候,例如获取一个文件夹的名字,那么air中得到的这个文件的url的字符串描述将是被URI编码过了得,你需要解码后才能得到实际的文件夹名(特别是文件夹名的语系和你系统的语系不同的时候,这个问题就很突出)

      当用Adobe Air或swf和网络通讯的时候,如果你要读取一个服务器端的文件夹,如果这个文件夹名是: %E6%82%A8%E5%A5%BD,那么可以告诉你你是读不到里面的内容的。为什么呢?因为你的包含这个文件夹名的url字符串会在net上被(URI)解码,解码后得到的是:您好。可是实际上并没有这个文件夹,那当然读不到了。

而当我们在as里面操作字符串的时候,它的内容是什么就是什么,不会自动被(URI方式)编码或解码。但是无论as和本地系统或网络系统通讯的时候都存在URI编码解码的问题。因此要注意这个问题。

一般对于不同语系而言,建议使用decodeURIComponent解码,encodeURIComponent编码
posted @ 2009-09-16 13:15  vily_雷  阅读(474)  评论(0编辑  收藏  举报