2012年1月21日土曜日

javascript で 文字列 をUTF-8 コードに変換する方法

UTF-8 コードって、 ģ  こういうやつのことです。
実は、

UTF8/16 | URL Encode / Decode

このライブラリを見つけたんだけど、配列で戻ってきてしまったりで、
さっくり使える感じではなかったので、
参考にしつつ自分でやってみました。

/*
 * Return UTF-8 Code.
 * ********************************************************** */
var utf8ize = function(str){
    if(!str) str = "false";
    if(typeof(str) == "function") return;
    if(typeof(str) == "object") str = JSON.stringify(str);
    if(typeof(str) == "undefined") str = "undefined";
    var l   = str.length;
    if(!l || l.length == 0) str = "undefined";
    var res = "";
    l = str.length;
    for(var i = 0;i < l;i ++){
        res += "&#x" + str.charCodeAt(i).toString(16) + ";";
    }
    return res;
}


多分、 boolean true の時は、 str = "true" に勝手にしてくれるでしょう…してくれないかも。
まぁ、最悪 !l のところでなんかうまいことやってくれるでしょー。
なんか、 typeof str == "function" の時も微妙だなー。

if(typeof(str) == "function"){
 var func = str();
 arguments.callee(func);
 return;
}

とかでいいんじゃないっすかね?気合入れてやるのであれば。
なんか、色々、抜けがあったりするんだろーなーとは思いつつ。

UTF-8コード表(1)

一応、こういう感じになるっぽいです。
日本語でしかテストしてませんが、多分動くと思いますよー。わからんけど。

0 件のコメント:

コメントを投稿