Flex中如何得到一个字符的Unicode编码字符码(Unicode character code)的例子
By Minidxer | March 20, 2008
你是否曾经为了取得一个字符的Unicode编码字符码而耗费几分钟(或许是几个小时)来查找?下面是我最近学到的一点小技巧,ActionScript 3.0(包括ActionScript 2.0)的String类中,有一个很不错的函数–charCodeAt(),它可以通过指定某字符串中所要取得字符码字符位置,来得到该字符的Unicode字符码。说的比较简单,那就让我们来看代码吧。
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" backgroundColor="white" >
- <mx:Script>
- <![CDATA[
- [Bindable]
- private var charCode:Number = "&".charCodeAt();
- ]]>
- </mx:Script>
- <mx:Label text="@ = {'@'.charCodeAt()}" />
- <mx:Label text="& = {charCode}" />
- </mx:Application>
上面的代码取得@和&这两个字符的Unicode字符码。
@=64
&=32
上面的例子并没有多大的意义,基本上你需要定义一个字符串(这里我仅仅是定义了一个字符类型的临时变量)然后调用charCodeAt()函数获取该字符的数字编码。charCodeAt()函数可以指定一个参数,下面是一点说明:
charCodeAt()函数的参数,是一个整数类型的数字,该数字为字符在字符串中的位置,第一个为0,最后一个为my_str.length - 1.
如果你不指定任何参数,那么默认将取得第一个字符的字符码。
现在你应该都了解了吧,让我们来看另一个例子:
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.controls.dataGridClasses.DataGridColumn;
- import mx.collections.ArrayCollection;
- [Bindable]
- private var arrColl:ArrayCollection;
- private function doChange():void {
- var letterArray:Array = textInput.text.split("");
- arrColl = new ArrayCollection(letterArray);
- dg.validateNow();
- dg.selectedIndex = arrColl.length;
- dg.scrollToIndex(arrColl.length);
- }
- private function CharCode(item:Object, column:DataGridColumn):String {
- return item.charCodeAt().toString();
- }
- ]]>
- </mx:Script>
- <mx:TextInput id="textInput" change="doChange();" width="100%" />
- <mx:DataGrid id="dg" dataProvider="{arrColl}" width="100%" height="100%">
- <mx:columns>
- <mx:DataGridColumn headerText="Character" dataField="letter" />
- <mx:DataGridColumn headerText="Char Code" labelFunction="CharCode" />
- </mx:columns>
- </mx:DataGrid>
- <mx:Label id="lbl" />
- </mx:Application>
下面是执行实际效果:
这个例子相对就比较实用了,你可以在TextInput中输入字符,相应的Unicode码将会显示在DataGrid中。
原文作者:Peter deHaan 翻译:minidxer
Topics:
Flex |
No Comments » |
Tags: ActionScript, character, charCodeAt, code, DataGrid, Flex, TextInput, UNICODE, 字符, 字符码