使用JavaScript實現UTF 8編譯碼

2021-08-13 15:19:23 字數 951 閱讀 1288

首先簡單介紹一下utf-8。utf-8以位元組為單位對unicode進行編碼。utf-8的特點是對不同範圍的字元使用不同長度的編碼。對於0x00-0x7f之間的字元,utf-8編碼與ascii編碼完全相同。utf-8編碼的最大長度是6個位元組。6位元組模板有31個x,即可以容納31位二進位制數字。unicode的最大碼位0x7fffffff也只有31位。
從unicode到utf-8的編碼方式如下:

unicode編碼(十六進製制)

utf-8 位元組流(二進位制)

000000-00007f

0******x

000080-0007ff

110***xx 10******

000800-00ffff

1110***x 10****** 10******

010000-10ffff

11110***10******10******10******

以下是js實現**,首先是編碼

function utf8encode(inputstr) 

//110***xx 10******

else if(temp < 2048)

//1110***x 10****** 10******

else if(temp < 65536)

//11110*** 10****** 10****** 10******

else

} return outputstr;

}

下面是解碼

function utf8decode(inputstr) 

else if(code1 < 224)

else if(code1 < 240)

else

} return outputstr;

}

以上!

使用 JavaScript 實現棧

1.棧的基本操作 function stack 移除棧頂的元素,同時返回被移除的元素 this.pop function 返回棧頂的元素,不對棧做任何修改 this.peek function 如果棧裡沒有任何元素就返回true,否則返回false this.isempty function 移除棧...

使用javascript實現html文字不可選

如何使用js讓html該文字是不可選定它?首先想到的是用css選擇實現,如下面 webkit touch callout none webkit user select none khtml user select none moz user select none ms user select n...

使用Handler實現定時重新整理資料,更新UI

本文章只是自己作為學習記錄之用,如有錯誤之處,請指正,謝謝 定義乙個傳送json請求資料的 在handler中接收message private handler handler new handler 建立乙個執行緒,通過執行緒傳送延遲訊息,實現三秒重新整理資料的效果 runnable runnab...