您的位置:首页 > 其它

Flex中如何得到一个字符的Unicode编码字符码(Unicode character code)的例子

2009-11-11 11:57 369 查看
你是否曾经为了取得一个字符的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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐