from CharCodeとescapeを利用して漢字を符号化して復号します.
1669 ワード
escape()関数は文字列をエンコードすることができ、このようにしてすべてのコンピュータで文字列を読み取ることができます.この方法はASCII文字と数字を符号化しないし、次のASCII句読点も符号化しない.他のすべての文字は変換シーケンスに置き換えられます.
from CharCode()は、指定されたUnicode値を受け取り、文字列を返します.
ですから、Javascripはこの二つの関数を使って、漢字に対して実体コードunicodeを符号化することができます.
クリックして
from CharCode()は、指定されたUnicode値を受け取り、文字列を返します.
ですから、Javascripはこの二つの関数を使って、漢字に対して実体コードunicodeを符号化することができます.
<script type="text/javascript">
//http://www.bangnishouji.com/tools/chtounicode.html
function action(pChoice){
switch(pChoice){
case "CONVERT_FMT1":
$("#show2").val(ascii($("#source").val()));
break;
case "CONVERT_FMT2":
$("#show2").val(unicode($("#source").val()));
break;
case "RECONVERT":
$("#show2").val(reconvert($("#source").val()));
break;
}
}
function ascii(str){
return str.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"\&#x$2;")});
}
function unicode(str){
return str.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"\\u$2")});
}
function reconvert(str){
str = str.replace(/(\\u)(\w{4})/gi,function($0){
return (String.fromCharCode(parseInt((escape($0).replace(/(%5Cu)(\w{4})/g,"$2")),16)));
});
str = str.replace(/(&#x)(\w{4});/gi,function($0){
return String.fromCharCode(parseInt(escape($0).replace(/(%26%23x)(\w{4})(%3B)/g,"$2"),16));
});
return str;
}
</script>
プレゼンテーションのアドレス:クリックして