Top | 戻る

ByteArrayテスト

  QRコードが Mac(ppc) の FlashPlayer 9.0.16 でうまく動かなかったので flash.utils.ByteArray クラスのテストをしてみました。 なんだか Win とは違う、文字化けというかヘンな結果を出します・・・。
ByteArrayTest.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
    paddingTop="0" paddingBottom="0" paddingLeft="0" paddingRight="0">
    <mx:Script>
        <![CDATA[
    
private const HEX : String = "0123456789ABCDEF";

private function getBytes(s : String) : String {

    var buffer : ByteArray = new ByteArray();
    buffer.writeMultiByte(s, enc.text);
    
    var bytes : String = "";
    for (var i : int = 0; i < buffer.length; i++) {
        if (i > 0) {
            bytes += ","
        }
        bytes += "0x";
        bytes += HEX.charAt( (buffer[i] >>> 4) & 0xf);
        bytes += HEX.charAt(buffer[i] & 0xf);
    }
    return bytes;
}   

        ]]>
    </mx:Script>
    <mx:Form>
       <mx:FormItem label="文字コード:">
            <mx:TextInput id="enc" text="shift_jis"/>
       </mx:FormItem> 
       <mx:FormItem label="変換文字列:">
            <mx:TextInput id="txt"/>
       </mx:FormItem> 
       <mx:FormItem label="変換後のコード:">
            <mx:Label text="{getBytes(txt.text)}"/>
       </mx:FormItem> 
    </mx:Form>

</mx:Application>
実行結果

Contents Copyright © Kazuhiko Arase