忍者ブログ
[97]  [96]  [95]  [94]  [93]  [92]  [91]  [90]  [89]  [88]  [87
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

CGIに、生まれて初めて正面から取り組んでる。フルスクラッチング。多分自己流で回りくどいことしまくってると思う。
でも画面側はやっぱりAS3で作りたいので、いよいよモジャネグ(わけがわからなく)なってきてる。手が進まない。
昨夜はPHP側とSWF側での文字エンコードの扱いの差異にえらく悩まされた。(見えない制御文字のせいで一見おなじURLなのにデータが取得出来たり出来なかったり)

そういう「単に知らないから出来ないこと」を調べてる間ってのは苦しいけど、車輪の再発明のために「思いつかないから出来ないこと」を、「出来るようにするために」考えている間ってのは、やっぱり楽しいものです。
で、掲題の件。要はユニークなIDを作りたかった。

        public static function id(n:uint):String
        {
            if (n < 1) return "0";
            var str:String = "";
            var m:uint = n % 6;
            if (m > 0) 
            {
                var min:uint = 1 << 5 * (m - 1);
                var max:uint = min << 5;
                str += uint(min + ((max - min) * Math.random() | 0)).toString(32);
            }
            var q:uint = n / 6;
            for (var i:int = 0; i < q; i+=1) 
            {
                str += uint(0x02000000 + (0x3dffffff * Math.random() | 0)).toString(32);
            }
            return str;
        }
整数型を32進数表現にすると0-9a-vの文字で表されるので、ランダムな文字列が作れます。1文字あたり5ビット。36進数にすればw-zも使えるんだけど、計算がややこしくなるのでそこはご愛敬。

出力例 (等幅フォントじゃないと見づらい)

0
j
4u
ctk
j0ah
d6qgn
c8le4a
kuk7mtp
8ju1me90
9bafv82sl
fsaculkekh
buroff48bna
jbljm723a9h9
eslukm3e1b147
k3tlfa261bug6e
mr45f3akbkgpn4h
k739ig2g65qa326q
ivvq96epae9bptcnd
ui2hpmkht5kj4ftk5h
u6a6af2auu53aeudu8p
dender5dcuila03lf644
dh1bit1ueom0kluat2i72
ur8eo23hmeojqnis52c8ff
63m9nr9o3dv5uvscoencoar
mjlmqm3kdj7kd07qop20lp07
jn6rag4augdpe7318b2kh7lmg
312obp1titchamejjqgrkkf4l8
ne76ktipjn69jtf467gflm7pjbi
bjhnfmf4ku5i8kni957m0vo1295t
tjf3jdiktmfg6kl3rr8ssiimj14an
ebeo10boh4ebla9lpvsekcluv18cqf
2ssoblcv3t8nlqa2ff79cq4g2occji0



PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
26歳のハローワールド
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新コメント
[11/27 gyzwviyehl]
[11/18 Tepexaxyonelo]
[09/12 gomFolley]
[08/16 CypeBachCoece]
[06/02 gb]
[03/06 kishima]
[01/18 KNDY]
[01/16 kage]
[12/23 KNDY]
[12/23 kage]
最新トラックバック
ブログ内検索
アクセス解析
プロフィール
HN:
knd
HP:
自己紹介:
絶賛迷走中。
UNIQLO CALENDAR
忍者ブログ [PR]