メイン とにかくFLASH【FLASHに関して全般】
escapeMultiByte | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| skunk | Åê¹ÆNo.39426 投稿日時: 2008-7-4 14:56 |
新米 ![]() ![]() 居住地: 投稿: 7
使用環境:
Win2000,Flash MX |
escapeMultiByte AS3 windows xpで
System.useCodePage=trueの場合、 escapeMultiByteとunescapeMultiByte の結果が正しくありませんが、 これって期待される動作でしょうか?? import flash.utils.unescapeMultiByte; import flash.utils.escapeMultiByte; System.useCodePage=true; var value="。"; var escapeValue=escapeMultiByte(value); trace(escapeValue); //%81B var unescapeValue=unescapeMultiByte(escapeValue); trace(unescapeValue) //B Bと出力されてしまします。。 どなたか教えてくださいませ。 よろしくお願いいたします。 |
| ニノミヤ カズノリ | Åê¹ÆNo.39437 投稿日時: 2008-7-5 16:36 |
職人 ![]() ![]() 居住地: 東京 投稿: 430
使用環境:
CS4 .4.11, .5.7 XP Pro(sp3)Flash Player 10,0,22,87, AIR 1.5.1, IE 5.5 & 6 & 7 & 8, Firefox 2.0.0.20 & 3.0.11 & 3.5, Opera 9.64, Safari 4, Google Chrome 2.0.172.31, Netscape 7.1 |
Re: escapeMultiByte 期待される結果ではないでしょう。
unescapeMultiByte で返されている値は、%81B の B です。 これは Flash 側が正しく unescape できなかった為です。 例えば、下記のコードでも同じ症状が出ます。 結果 綺麗に %83 が省かれていますね。 これが平仮名だとすると、この様な事態は起こりません。 結果 これらの結果から、%81B の末尾についている B(ASCII コード)は解釈されていない事が分かります。 もし、「%81B」から「。」に戻したいのであれば、末尾についている ASCII コードを 16 進数に直さなくてはなりません。 ASCII コードの B は 16 進数だと「0x42」です。 つまり、「%81B」を書き直すと「%81%42」となります。 結果 参考になるリンクを載せておきます。 URLエンコード - Wikipedia ASCII文字コード : IT用語辞典 ShiftJISコード |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン




CS4
.4.11,
XP Pro(sp3)