ES6 字串擴充套件1

2021-10-03 03:14:19 字數 1171 閱讀 9534

因為計算機只能處理數字,如果要處理文字,就必須先把文字轉換為數字才能處理。

最早的計算機在設計時採用8個位元(bit)作為乙個位元組(byte),所以,乙個位元組能表示的最大的整數就是255(二進位制11111111=十進位制255),

0 - 255被用來表示大小寫英文本母、數字和一些符號,這個編碼表被稱為ascii編碼

如果要表示中文,顯然乙個位元組是不夠的,至少需要兩個位元組,而且還不能和ascii編碼衝突,所以,中國制定了gb2312編碼,用來把中文編進去。類似的,日文和韓文等其他語言也有這個問題。

為了統一所有文字的編碼,unicode應運而生。unicode把所有語言都統一到一套編碼裡,這樣就不會再有亂碼問題了。

unicode通常用兩個位元組表示乙個字元,原有的英文編碼從單位元組變成雙位元組,只需要把高位元組全部填為0就可以。

1.在js中字元不僅能用普通的表示,還可以用unicode編碼表示

ex:'a' = \u0061 '(數值使用的是十六進製制)

2.在es5中,當unicode編碼大於兩個位元組(0xffff)時

「?」:』\u20007』 // 口7 (編譯器會將前面兩個位元組作為乙個字元,後面7作為新的字元)

所以在es6中使用大括號{}的解決方法

\u// 「?」

charat()方法可返回指定位置的字元。

charcodeat()方法返回對應字元的碼值

string.fromcharcode()返回對應碼值的字元

上述方法在乙個字元大於兩個位元組時會出現問題

codepointat()返回對應字元的碼值

string.fromcodepoint()返回對應碼值上的字元

ES6 字串擴充套件

1 字串可以使用 u x的形式來表達乙個字元,x叫做字元的碼點,x的範圍是0000 ffff,超過ffff的碼點需要用兩個雙位元組表示 如果我們 u後面的16進製制的值大於ffff,我們需要加乙個大括號 u讓js正確解析。2 我們應該都了解,漢字一般都需要兩個雙位元組來表示,在js中兩個位元組佔乙個...

ES6 字串擴充套件 repeat

repeat 方法返回乙個新字串,引數 n 表示將原來的字串重複 n 次。let a s a.repeat 0 a.repeat 2 ss a sa.repeat a a.repeat 2 ss 引數如果是小數會被取整 a.repeat 2.9 ss 引數是負數或者 infinity 會報錯 a.r...

ES6 字串的擴充套件

js中有indexof方法,來確認乙個字串是否包含在另乙個字串中。es6又提供了三中新方法 includes 返回布林值,表示是否找到了引數字串。startswith 返回布林值,表示引數字串是否在源字串的頭部。endswith 返回布林值,表示引數字串是否在源字串的尾部。let s hello w...