返回顶部
首页 > 资讯 > 后端开发 > Python >AS3 unicode
  • 468
分享到

AS3 unicode

unicode 2023-01-31 02:01:28 468人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

package com.game.common { import flash.utils.ByteArray; import flash.utils.Endian; public final class GameUnicod

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);
		}
	}
}


--结束END--

本文标题: AS3 unicode

本文链接: https://lsjlt.com/news/186108.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • AS3 unicode
    package com.game.common { import flash.utils.ByteArray; import flash.utils.Endian; public final class GameUnicod...
    99+
    2023-01-31
    unicode
  • [AS3]AS3 hack site
    as3swf as3swf is a low level Actionscript 3 library to parse, create, modify and publish SWF files. Alpha version, unde...
    99+
    2023-01-31
    hack site
  • AS3!INT
    有必要理清一下!int的意义:!int 判断的是 是否为 0 如果为 0 : 则 !int 为 true否则 !int 为 false不知道 这个 是不是 比 int != 0 的效率 要高!!!扩展到Class :关于 null 和 un...
    99+
    2023-01-31
    INT
  • as3 get flashvars
    as3 flash 参数获得(root.loaderInfo.parameters 用法) http://vsheyan.blogbus.com/logs/46456208.html [How to] FlashVars in AS3 h...
    99+
    2023-01-31
    flashvars
  • AS3 沙箱
    沙箱也称之为安全域,今日对安全域做一个整理:一 , 信任授权1, 不同域中的SWF(可执行文件)尽管安全域只允许相同域下的通讯,但是我们可以使用授信(Security.allowDomain或Security.allowInsecureDo...
    99+
    2023-01-31
    沙箱
  • AS3初探
    开发工具:FLEX BUILDER3 PRO   语言:AS 3.0   操作系统:Windows XP SP2   1.       在flex3 里新建一个AS工程取名为lo...
    99+
    2023-01-31
  • AS3的splice
    (AS3)关于SPLICE的删除功能的博文:bug : 这是一个AS3本身的一个"bug".先看看我的测试:package{ import com.ainy.Applyfn; import com.ainy.xmlbyte....
    99+
    2023-01-31
    splice
  • AS3反射
    反射这玩意,在一些游戏的框架中的确有其优势,但是注意反射或多或少会影响性能的.在资源的获取上就 使用了反射 , 得到SWF中的美术的资源 如:public static function getClazz(className : Strin...
    99+
    2023-01-31
    反射
  • python unicode详解 python中的unicode
    在Python中,Unicode是一种字符编码标准,它为全球范围内的所有字符提供了唯一的标识符。Unicode编码由一个固定的编码空...
    99+
    2023-08-24
    python
  • RedHatLinux AS3 U3 安
    RedHat Linux AS3.0上安装OracleDB一直比较麻烦,多方寻找,终于找到一个测试可以成功的安装手册。  环境: 1、 Dell台式机一台:普通P4CPU、内存256M、IDE硬盘30G 2、组装机一台:P4...
    99+
    2023-01-31
    RedHatLinux
  • AS3 mvc应用
              在程序开发中,为了降低程序的耦合度,我们经常会对程序进行模式化,这一节中,我们介绍MVC的设计模式,MVC由三层结构构成,分别是视图器(view),模型器(model),控制器(control)。视图器view的作用是显...
    99+
    2023-01-31
    mvc
  • AS3外部类
    1,注意事项,外部类只能在本文件中的其他类使用,2,外部类不要写类修饰符3,外部类写在包外  好处是:        1,可以当做本文件内部类的数据Model,好找.而且看起来更加直观        2,外部代码无法调用,安全性高.但是缺点...
    99+
    2023-01-31
  • Python Unicode HOWTO
    character, code point, glyph[glɪf], encoding Release: 1.1 This HOWTO discusses Python’s support for Unico...
    99+
    2023-01-31
    Python Unicode HOWTO
  • AS3 Vecter初始化
    var vec : Vecter.<Point> = new <Point>[     new Point(1,1),     new Point(1,2) ];类似于 Array的初始化的方法。 var arr :...
    99+
    2023-01-31
    初始化 Vecter
  • AS3部署调试
    一般AS3开发的项目会放在WEB上 , 那就涉及到远程的调试.步骤 ① : 添加网站地址 :        1:右击项目 ->属性 -> 打开项目属性面板:编辑配置如下图:另外必须指出 :如果代码(AS)有改动 , 则WEB站点的文件也要更...
    99+
    2023-01-31
  • AS3中mouseEnabled和mou
    mouseEnabledmouseEnabled 属性 mouseEnabled:Boolean 语言版本: ActionScript 3.0 运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4 指...
    99+
    2023-01-31
    mouseEnabled mou
  • AS3 公式大全
    基础三角函数的计算: 角的正弦值 = 对边 / 斜边 角的余弦值 = 邻边 / 斜边 角的正切值 = 对边 / 邻边 弧度转换为角度以及角度转换为弧度: 弧度 = 角度 * Math.PI...
    99+
    2023-01-31
    公式 大全
  • AS3和JS通信
    运行环境:需要安装IIS,创建网站目录AS3和外部容器通信方法比较简单:import flash.text.TextField; var txt:TextField = new TextField(); this.addChild(txt...
    99+
    2023-01-31
    通信 JS
  • AS3的Object和Dictionar
    在 AS3 编程中,免不了要使用Object 和 Dictionary , 实际上 本人 很多时候 是使用 Vector 或者 Dictionary 的 . 因为 , Vector 的 效率 是 最高的 , 而 Object 和 Dicti...
    99+
    2023-01-31
    Object Dictionar
  • AS3的9宫格
    1,9宫格在UI的缩放中应用的很多.如果你不明白什么是9宫格,请百度 , google在AS3中设置9宫格, 有2种方式:我现在讲第一种方式 , 也是最简单的一种方式:在 Flash软件中: 弹出"元件属性"面板,如下图:编辑这个元件,你会...
    99+
    2023-01-31
    宫格
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作