UTF編碼字符串的總字節數計算


首先是在UTF-8編碼下

佔2個字節的:〇

佔3個字節的:基本等同於GBK,含21000多個漢字

佔4個字節的:中日韓超大字符集裏面的漢字,有5萬多個

一個utf8數字佔1個字節

一個utf8英文字母佔1個字節


來自

UTF-8的編碼結構長度是根據某單個字符的大小來決定長度有多少。
下面爲單個字符的大小佔用幾個字節。單個unicode字符編碼之後的最大長度爲6個字節。

  • 1個字節:Unicode碼爲0 - 127
  • 2個字節:Unicode碼爲128 - 2047
  • 3個字節:Unicode碼爲2048 - 0xFFFF
  • 4個字節:Unicode碼爲65536 - 0x1FFFFF
  • 5個字節:Unicode碼爲0x200000 - 0x3FFFFFF
  • 6個字節:Unicode碼爲0x4000000 - 0x7FFFFFFF

JS:

var str="zhong中國1234";
    var byteSize = 0;
    for (var i = 0; i < str.length; i++) {
      var charCode = str.charCodeAt(i);
      if (0 <= charCode && charCode <= 0x7f) {
        byteSize += 1;
      } else if (128 <= charCode && charCode <= 0x7ff) {
        byteSize += 2;
      } else if (2048 <= charCode && charCode <= 0xffff) {
        byteSize += 3;
      } else if (65536 < charCode && code <= 0x1FFFFF) {
        byteSize += 4;
      } else if (0x200000 < charCode && charCode <= 0x3FFFFFF) {
        byteSize += 5;
      } else if (0x4000000 < charCode && charCode <= 0x7FFFFFFF) {
        byteSize += 6;
      }
    }
    console.log('byteSize',byteSize);


‘〇’字符可以特判!

發佈了852 篇原創文章 · 獲贊 1848 · 訪問量 137萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章