二进制文件是如何被 Node JS 转化为意义的?
How is a binary file turn into meaning by Node JS?
(Node JS 的初学者。)我正在使用 fs.readFileSync(filename)
在 node js 中读取文件,其中 returns 一个缓冲区。
我有两个相关问题:
- 我猜程序会看到二进制 (0 & 1) 数据,并在告诉它如何对二进制数据进行编码后将其转换为符号。这是正确的吗?
例如,当读取文件时,它returns十六进制代码的信息,并且可以通过使用适当的编码读取它来转换,例如utf-8,如果我们知道的话。
- 我正在读取的文件使用
readUint8()
来自 Buffer。一个 8 位长的无符号整数。
这将使用什么编码将前 8 位转换为数字?
是否有为非常简单的编码文件编写解码器的简单练习?
What encode will this use to transform the first 8 bits to a number?
这不是真正的编码。 Buffer 中的数据是二进制的(原始字节序列)。 buffer.readUint8()
背后的代码知道如何从缓冲区中获取单个字节并将其转换为 Javascript 用于数字的内部格式。在这种特定情况下,它从缓冲区中获取一个 8 位值,将其视为无符号值并将其转换为 Javascript 数字使用的双精度浮点格式,然后它可以用作数字Javascript.
这可能是该方法背后的本机代码,因为它是位操作(四处移动位)以更改格式并以 Javascript 数字结束。
(Node JS 的初学者。)我正在使用 fs.readFileSync(filename)
在 node js 中读取文件,其中 returns 一个缓冲区。
我有两个相关问题:
- 我猜程序会看到二进制 (0 & 1) 数据,并在告诉它如何对二进制数据进行编码后将其转换为符号。这是正确的吗?
例如,当读取文件时,它returns十六进制代码的信息,并且可以通过使用适当的编码读取它来转换,例如utf-8,如果我们知道的话。
- 我正在读取的文件使用
readUint8()
来自 Buffer。一个 8 位长的无符号整数。
这将使用什么编码将前 8 位转换为数字?
是否有为非常简单的编码文件编写解码器的简单练习?
What encode will this use to transform the first 8 bits to a number?
这不是真正的编码。 Buffer 中的数据是二进制的(原始字节序列)。 buffer.readUint8()
背后的代码知道如何从缓冲区中获取单个字节并将其转换为 Javascript 用于数字的内部格式。在这种特定情况下,它从缓冲区中获取一个 8 位值,将其视为无符号值并将其转换为 Javascript 数字使用的双精度浮点格式,然后它可以用作数字Javascript.
这可能是该方法背后的本机代码,因为它是位操作(四处移动位)以更改格式并以 Javascript 数字结束。