String 類型

2018-06-16 15:00 更新

字符串類型是所有有限的零個(gè)或多個(gè) 16 位無符號(hào)整數(shù)值(“元素”)的有序序列。在運(yùn)行的 ECMAScript 程序中,字符串類型常被用于表示文本數(shù)據(jù),此時(shí)字符串中的每個(gè)元素都被視為一個(gè)代碼點(diǎn)(參看 章節(jié) 6)。 每個(gè)元素都被認(rèn)為占有此序列中的一個(gè)位置。用非負(fù)數(shù)值索引這些位置。任何時(shí)候,第一個(gè)元素(若存在)在位置 0,下一個(gè)元素(若存在)在位置 1,依此類推。字符串的長(zhǎng)度即其中元素的個(gè)數(shù)(比如,16 位值)??兆址L(zhǎng)度為零,因而不包含任何元素。


若一個(gè)字符串包含實(shí)際的文本數(shù)據(jù),每個(gè)元素都被認(rèn)為是一個(gè)單獨(dú)的 UTF-16 單元。無論這是不是 String 實(shí)際的存儲(chǔ)格式,String 中的字符都被當(dāng)作表示為 UTF-16 來計(jì)數(shù)。除非特別聲明,作用在字符串上的所有操作都視它們?yōu)闊o差別的 16 位無符號(hào)整數(shù);這些操作不保證結(jié)果字符串仍為常規(guī)化的形式,也不保證語言敏感結(jié)果。


這些決議背后的原理是盡可能地保持字符串的實(shí)現(xiàn)簡(jiǎn)單而高效。這意味著,在運(yùn)行中的程序讀到從外部進(jìn)入執(zhí)行環(huán)境的文本數(shù)據(jù)(即,用戶輸入,從文件讀取文本 ,或從網(wǎng)絡(luò)上接收文本,等等)之前,它們已被轉(zhuǎn)為 Unicode 常規(guī)化形式 C。通常情況下,這個(gè)轉(zhuǎn)化在進(jìn)入的文本被從其原始字符編碼轉(zhuǎn)為 Unicode 的同時(shí)進(jìn)行(且強(qiáng)制去除頭部附加信息)。因此,建議 ECMAScript 程序源代碼為常規(guī)化形式 C,(如果保證源代碼文本是常規(guī)化的)保證字符串常量是常規(guī)化的,即便它們不包含任何 Unicode 轉(zhuǎn)義序列。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)