在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 為什么說Buffer 對(duì)象的內(nèi)存是被解析為一個(gè)明確元素的數(shù)組,而不是一個(gè)目標(biāo)類型

為什么說Buffer 對(duì)象的內(nèi)存是被解析為一個(gè)明確元素的數(shù)組,而不是一個(gè)目標(biāo)類型的字節(jié)數(shù)組?

在看Node buffer文檔的時(shí)候,對(duì)一個(gè)概念不是很理解。什么是明確元素的數(shù)組,什么是目標(biāo)類型的字節(jié)數(shù)組?

Buffer 對(duì)象的內(nèi)存是被解析為一個(gè)明確元素的數(shù)組,而不是一個(gè)目標(biāo)類型的字節(jié)數(shù)組。 也就是說,new Uint32Array(Buffer.from([1, 2, 3, 4])) 會(huì)創(chuàng)建一個(gè)包含 [1, 2, 3, 4] 四個(gè)元素的 Uint32Array,而不是一個(gè)只包含一個(gè)元素 [0x1020304] 或 [0x4030201] 的 Uint32Array 。
英文原文:
The Buffer object's memory is interpreted as an array of distinct elements, and not as a byte array of the target type. That is, new Uint32Array(Buffer.from([1, 2, 3, 4])) creates a 4-element Uint32Array with elements [1, 2, 3, 4], not a Uint32Array with a single element [0x1020304] or [0x4030201].

回答
編輯回答
兔寶寶

明確元素的數(shù)組,是指數(shù)組中的元素個(gè)數(shù)、元素的值,以及元素的類型都是明確的。例如:[1,2,3,4],數(shù)組的元素個(gè)數(shù)是 4 個(gè),元素的值,分別是 1, 2, 3, 4,元素的類型是 32 位的整型數(shù)據(jù)。

目標(biāo)類型的字節(jié)數(shù)組,例如:0x10203040 or 0x40302010,目標(biāo)類型是 32 位整數(shù)類型,所謂,字節(jié)數(shù)組,對(duì)于 32 位整型,就是四個(gè)字節(jié)的數(shù)組。但是,元素的個(gè)數(shù)就是一個(gè)了,元素的值也是一個(gè),要么是 0x10203040,要么是 0x40302010,元素的類型當(dāng)然是整數(shù)類型。

這兩個(gè)可是截然相反的東西。

總之,API 文檔想表達(dá)的意思是 Buffer 的內(nèi)存是按照原數(shù)據(jù)的類型存放的。原數(shù)據(jù)是整型,那么一個(gè)數(shù)就是 32 位(對(duì)于字長 32 位的電腦來說),原數(shù)據(jù)是 ASCII 的字符串,一個(gè)字符就是一個(gè)字節(jié),如果原數(shù)據(jù)是 utf-8 編碼的字符串,一個(gè)字符就是三個(gè)字節(jié)。

2017年6月29日 06:56