彻底消灭Flash的动画中的乱码

互联网   发布时间:2008-10-06 01:25:32   作者:佚名   我要评论
鉴于很多人用 System.useCodepage = true 这个属于下策的方法来解决乱码,而且还不知道为什么,所以打算让不知道的朋友了解如何彻底消灭乱码

  鉴于很多人用 System.useCodepage = true 这个属于下策的方法来解决乱码,而且还不知道为什么,所以打算让不知道的朋友了解如何彻底消灭乱码。

关于编码的基础知识:
每个国家/区域都规定了计算机信息交换用的字符编码集,比如美归的扩展ASCII码,中国的GB2112-80,日本的JIS等,做为该国家/区域内信息处理的基础,有着统一编码的重要作用。早期的软件为了解决本地字符信息的计算机处理,出现了各种本地化版本(L10N),为了区分,引进了LANG(语言),Codepage(编码)概念。但由于各个本地字符集代码范围重叠,相互间信息交换困难,软件各个本地化版本独 立维护成本较高,因此有比较将本地化工作中的共性抽取出来,作一致处理,各种语言信息被进一步规范为Locale信息。处理底层字符集变成了几乎包含了所有字形的Unicode。

一、什么是Unicode
Unicode给每个字符提供了一个唯一的数字,不论什么平台,不论什么程序,不论什么语言,Unicode标准已经被这些工业界的领导们所采用。例如:Apple、HP、IBM、JustSystem、Microsoft、Oracle、SAP、Sun、Sybase、Unisys和其它许多公司。最新的标准都需要Unicode。例如:XML、Java、ECMAScript(Javascript)、LDAP、CORBA3.0、WML等等,并且,Unicode是实现ISO/IEC 10646的正规方式。许多操作系统,所有最新的浏览器和许多其它产品都支持它。Unicode标准的出现和支持它工具的存在,是近来全球软件技术最重要的发展趋势。

二、Unicode的优点
基本上,计算机知识处理数字,它们指定一个数字来存储字母或其它字符。在创造Unicode之前,有数百种指定这些数字的编码系统。没有一个编码可以包含足够的字符,这些编码系统也会相互冲突。也就是说,不同的编码可能使用相同的数字代表两个不同的字符,或使用不同的数字代表相同的字符。比如:简体中文(GB),繁体中文(BIG50)中“赵”都是一个字,但是编码不同。在不同的编码下,BIG5码的“赵”对应的数字是0xBBAF,而数字0xBBAF在GB码中对应的却是“化”,这就是乱码.而Unicode采用统一的编码,“赵”就只有一个,不管它在哪种文字编码下。

三、彻底解决乱码
Flash 5及其之前版本的编码标准是以系统编码为标准的。但Flash MX以后开始支持Unicode,并将Flash Player 6或以上版本预设编码为Unicode,如果Flash载入非Unicode编码时,(比如一个ANSI方式保存的文件)就会出现乱码。

解决方法有两种:
第一种是下策,即强迫Flash使用Flash 5的编码方法,在第一帧加入:System.useCodepage = true;这种方法虽然暂时解决了中文系统的乱码问题,但对程序的兼容性和扩展性极为不利。比如:你用的是GB(简体中文)编码的系统,当一个不是用GB编码的系统观看你的Flash时,他看到的依然是乱码。
第二种是上策,即利用Unicode编码的一个最常用的实现方法“UTF-8”(Unicode Transformation Format - 8 bit)来实现。最简单的办法就是在保存文件时用编辑软件(比如:Windows记事本)保存时在“编码”选项处选择“UTF-8”编码形式,形成文本编码和Flash编码统一,从而彻底的消灭乱码。

相关文章

  • flash cs6鼠标跟随效果实现代码分享

    flash cs6想要实现鼠标跟随效果?该怎么制作呢?今天我们就来看看使用as2.0实现鼠标跟随效果的教程,需要的朋友可以参考下
    2019-05-19
  • Flash cs6怎么使用代码输入中英文文本?

    Flash cs6怎么使用代码输入中英文文本?Flash cs6中可以使用文字工具直接输入文本,也可以使用代码来输入文本,该怎么使用代码输入文本呢?请看下文详细的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定义抽象类和抽象?

    flash as3.0抽象类怎么定义? as3.0中有很多抽象类,该怎么定义抽象类和抽象方法呢?下面我们就来看看简单的例子,需要的朋友可以参考下http://www.jb51.net/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,该怎么使用呢?下面我们就来看看详细的教程,需要的朋友可以参考下
    2018-01-25
  • Flash中怎么实现鼠标点击决定图像位置?

    本教程给大家分享一个Flash小教程,教大家在Flash CS6中怎么实现鼠标点击决定图像位置?方法很简单,感兴趣的朋友欢迎前来一起分享学习
    2018-01-12
  • Flash中如何用代码将图片放在自己想要的舞台位置?

    本教程教脚本之家的ActionScript教程学习者在Flash中如何用代码将图片放在自己想要的舞台位置,教程讲解的详细,感兴趣的朋友欢迎前来分享学习
    2017-11-20
  • 在Flash CS6中使用with函数绘制背景图教程

    本教程教脚本之家的ActionScript教程学习者如何在Flash CS6中使用with函数绘制背景图?教程一步步讲解的挺详细,方法也不难,非常适合Flash新手入门学习
    2017-11-18
  • Flash怎么设置元件坐标?flash使用代码设置元件的坐标的教程

    Flash怎么设置元件坐标?flash中导如的元件需要添加坐标,该怎么定位元件坐标呢?下面我们就来看看flash使用代码设置元件的坐标的教程,需要的朋友可以参考下
    2017-10-11
  • Flash怎么制作来回摇摆的花朵的动画?

    Flash怎么制作来回摇摆的花朵的动画?Flash中想要给花朵制作一段摇摆的动画效果,该怎么制作呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
    2017-05-23
  • Flash怎么制作流动七彩色的文字?

    Flash怎么制作流动七彩色的文字?想要让文字动起来,该怎么使用flash给文字制作一个流动七彩色的动画呢?下面我们就来看看详细的教程,需要的朋友可以参考下
    2017-04-23

最新评论