[Javascript]Big5<Switch>Utf8

[Javascript]Big5<Switch>Utf8

最近都在處理編碼轉換,寫成function方便以後使用。

主要利用escape和unescape 方法來完成。

 

escape:傳回一個可在所有電腦上讀取的編碼 String 物件。

escape 方法會傳回一個字串值 (以 Unicode 格式),包含 charstring 的內容。

而所有的空格、標點符號、重音字元以及其他非 ASCII 字元均以 %xx 編碼取代,

其中的 xx 就等於表示該字元的十六進位數字。例如,空格會傳回為 "%20"。

值大於 255 的字元,則以 %uxxxx 格式儲存。

 

unescape:從使用 escape 方法編碼的 String 物件中傳回解碼的字串。

unescape 方法會傳回一個字串值,包含 charString 的內容。

所有以 %xx 十六進位格式編碼的字元都會以其在 ASCII 字元集的相等字元取代。

%uxxxx 格式 (Unicode 字元) 編碼的字元則都會被以十六進位編碼 xxxx 的 Unicode 字元取代。

 

Html

<textarea cols="20" rows="5" id="str">
</textarea><p/>
<input type="button" value="轉換" onclick="javascript: encode(str,this);" />

 

javascript

<script> 
var charset="big5";
function encode(content,btn){ 
   if(charset=="big5"){ 
       content.value=content.value.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/g,"&#x$2;")});         
       btn.value="還原";       
       charset="utf8";
   }else{     
       content.value=unescape(content.value.replace(/&#x/g,'%u').replace(/;/g,''));         
       btn.value="轉換";      
       charset="big5";
   }
}
</script>           

 

結果

點擊轉換

image image

 

點擊還原

image

 

參考

escape 方法

unescape 方法