我的编程空间,编程开发者的网络收藏夹
学习永远不晚

AS3 unicode

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

AS3 unicode

package com.game.common
{
	
	import flash.utils.ByteArray;
	import flash.utils.Endian;

	
	public final class GameUnicodeTools
	{
		private static var ins : GameUnicodeTools;
		public static function get instance() : GameUnicodeTools
		{
			if (!ins)
			{
				ins = new GameUnicodeTools();
			}
			return ins;
		}
		
		public function GameUnicodeTools():void
		{
			if( ins )
				throw Error("GameUnicodeTools 类被设计成单例!");
		}
		
		public function decode( resBytes : ByteArray , len : uint ) : String
		{
			var bytes : ByteArray  = new ByteArray();
			bytes.endian = Endian.LITTLE_ENDIAN;
//			var surplusLen : uint = ( resBytes.length - resBytes.position + 1 > len ) ? len : resBytes.length - resBytes.position + 1;
			var surplusLen : uint = ( resBytes.length - resBytes.position > len ) ? len : resBytes.length - resBytes.position;
			bytes.writeBytes( resBytes , resBytes.position , surplusLen );
			resBytes.position = resBytes.position + surplusLen - 1;
//			bytes.writeByte(0);
//			bytes.position = 0;
			return this.byArrayToString( bytes );
		}
		
		public function encode( resStr : String , len : uint = 0  ):ByteArray
		{
			return this.StrToByteArray( resStr , ( len > 0 ) ? len : 0  );
		}
		
		//unicode string to ByteArray 
		private function StrToByteArray( strValue : String, uLen:uint = 0 ):ByteArray
		{
			var byAaryR:ByteArray = new ByteArray();
			byAaryR.endian = Endian.LITTLE_ENDIAN;
			for ( var i:int = 0; i < strValue.length; ++i )
			{
				byAaryR.writeShort(strValue.charCodeAt(i));
			}
			for ( i = 0; i < (uLen - strValue.length); ++i )
			{
				byAaryR.writeShort(0);
			}
			return byAaryR;
		}
		//ByteArray to unicode string
		private function byArrayToString( byArray:ByteArray ):String
		{
			byArray.position = 0;
			var strReturn:String = new String();
			var strRep:String = "";
//			var $cacthBytes : ByteArray = new ByteArray();
//			$cacthBytes.endian = Endian.LITTLE_ENDIAN;
			var ss : uint = 0;
			for(var i:int = 0; i <  Math.floor( byArray.length / 2 ) ; i += 1 )
			{
//				$cacthBytes.clear();
//				$cacthBytes.position = 0;
				ss = byArray.readShort();
				if( ss == 0 )
				{
					break;
				}
				else
				{
					byArray.position -= 2;
					if( ss <= 0xff )
					{
						strRep = byArray.readMultiByte( 1 , "utf-8" );
						byArray.position += 1;
					}
					else
					{
						strRep = byArray.readMultiByte( 2 , "unicode" );
					}
	//				strReturn = replaceAt(strReturn, strRep, i, i);
					strReturn += strRep;
				}
			}
//			var strRep:String = byArray.readMultiByte(byArray.length, "unicode");
			return strReturn;
		}
		private function replaceAt(char:String, value:String, beginIndex:int, endIndex:int):String 
		{
			beginIndex = Math.max(beginIndex, 0);
			endIndex = Math.min(endIndex, char.length);
			var firstPart:String = char.substr(0, beginIndex);
			var secondPart:String = char.substr(endIndex, char.length);
			return (firstPart + value + secondPart);
		}
	}
}


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

AS3 unicode

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

AS3 unicode

package com.game.common{import flash.utils.ByteArray;import flash.utils.Endian;pub
2023-01-31

[AS3]AS3 hack site

as3swf as3swf is a low level Actionscript 3 library to parse, create, modify and publish SWF files. Alpha version, under
2023-01-31

AS3!INT

有必要理清一下!int的意义:!int 判断的是 是否为 0 如果为 0 : 则 !int 为 true否则 !int 为 false不知道 这个 是不是 比 int != 0 的效率 要高!!!???扩展到Class :关于 null 和
2023-01-31

as3 get flashvars

as3 flash 参数获得(root.loaderInfo.parameters 用法)http://vsheyan.blogbus.com/logs/46456208.html[How to] FlashVars in AS3http:
2023-01-31

AS3反射

反射这玩意,在一些游戏的框架中的确有其优势,但是注意反射或多或少会影响性能的.在资源的获取上就 使用了反射 , 得到SWF中的美术的资源 如:public static function getClazz(className : Strin
2023-01-31

AS3 沙箱

沙箱也称之为安全域,今日对安全域做一个整理:一 , 信任授权1, 不同域中的SWF(可执行文件)尽管安全域只允许相同域下的通讯,但是我们可以使用授信(Security.allowDomain或Security.allowInsecureDo
2023-01-31

AS3的splice

(AS3)关于SPLICE的删除功能的博文:bug : 这是一个AS3本身的一个"bug".先看看我的测试:package{ import com.ainy.Applyfn; import com.ainy.xmlbyte.By
2023-01-31

AS3初探

开发工具:FLEX BUILDER3 PRO 语言:AS 3.0  操作系统:Windows XP SP2 1.       在flex3 里新建一个AS工程取名为login22.       导入所需要的包(如果无法使用fl包,请参照我的
2023-01-31

AS3 mvc应用

在程序开发中,为了降低程序的耦合度,我们经常会对程序进行模式化,这一节中,我们介绍MVC的设计模式,MVC由三层结构构成,分别是视图器(view),模型器(model),控制器(control)。视图器view的作用是显示对象,即我们肉眼看
2023-01-31

RedHatLinux AS3 U3 安

RedHat Linux AS3.0上安装OracleDB一直比较麻烦,多方寻找,终于找到一个测试可以成功的安装手册。  环境: 1、 Dell台式机一台:普通P4CPU、内存256M、IDE硬盘30G 2、组装机一台:P4超线程CPU、内
2023-01-31

AS3外部类

1,注意事项,外部类只能在本文件中的其他类使用,2,外部类不要写类修饰符3,外部类写在包外  好处是:        1,可以当做本文件内部类的数据Model,好找.而且看起来更加直观        2,外部代码无法调用,安全性高.但是缺点
2023-01-31

python unicode详解 python中的unicode

在Python中,Unicode是一种字符编码标准,它为全球范围内的所有字符提供了唯一的标识符。Unicode编码由一个固定的编码空间组成,目前包含超过130,000个字符,涵盖了几乎所有的语言和符号。在Python 3中,默认的字符串类型
2023-08-24

AS3中mouseEnabled和mou

mouseEnabledmouseEnabled属性mouseEnabled:Boolean语言版本: ActionScript 3.0运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4指定此对象是
2023-01-31

AS3的9宫格

1,9宫格在UI的缩放中应用的很多.如果你不明白什么是9宫格,请百度 , google在AS3中设置9宫格, 有2种方式:我现在讲第一种方式 , 也是最简单的一种方式:在 Flash软件中: 弹出"元件属性"面板,如下图:编辑这个元件,你会
2023-01-31

AS3和JS通信

运行环境:需要安装IIS,创建网站目录AS3和外部容器通信方法比较简单:import flash.text.TextField;var txt:TextField = new TextField();this.addChild(txt);t
2023-01-31

AS3的getBounds方法

1,这个getBound 在某些情况下非常实用.例如,聊天系统的聊天面板.做个这玩意的朋友,应该对着玩意都点熟悉.2,这里我用这玩意,实现了一个功能: 面板"LevelTitleMainPanel"的关闭策略,除了通过面板上的关闭按钮,还能
2023-01-31

AS3性能优化

本篇文章用来总结本人对AS3性能优化方面的认识及经验,可能会有一些错误,敬请不吝赐教.如果想了解更多,请参考ADOBE方面的相关只是介绍.1,关于显示对象:    shape -> sprite -> moviechip我之所以这样写,是因
2023-01-31

AS3部署调试

一般AS3开发的项目会放在WEB上 , 那就涉及到远程的调试.步骤 ① : 添加网站地址 :        1:右击项目 ->属性 -> 打开项目属性面板:编辑配置如下图:另外必须指出 :如果代码(AS)有改动 , 则WEB站点的文件也要更
2023-01-31

AS3 Vecter初始化

var vec : Vecter. = new [    new Point(1,1),    new Point(1,2)];类似于 Array的初始化的方法。 var arr : Array = [1,2];
2023-01-31

AS3的Object和Dictionar

在 AS3 编程中,免不了要使用Object 和 Dictionary , 实际上 本人 很多时候 是使用 Vector 或者 Dictionary 的 . 因为 , Vector 的 效率 是 最高的 , 而 Object 和 Dicti
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录