檢查字串位元數
資料庫有儲存容量限制,這時候需要檢查字串的位元數是不是超出上限。不同編碼方式,中文字的位元數也不同。UTF-8 的話是 3 byte。
javascript 的 string.length 方法回傳的並不是字串的位元數,所以要另外想辦法。
計算字串位元數的其中一個方式是(假設字串只有中文和英文,編碼方式是 UTF-8),把每個中文都用三個英文字母取代(英文字母只佔一個位元)。
function byteLength (string) {
return string.replace(/[^\x00-\xff]/g, 'xxx').length
}
[^\x00-\xff]
是一個正則表達式,會選出 ASCII 編碼不在 0-255 的文字
參考資料:
Comments
Post a Comment