Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 数据处理 > 二进制数据 >

BinaryRead

BinaryRead[stream]
从一个输入数据流中读出原始二进制数据的一个字节,返回一个从 0 到 255 的整数。
BinaryRead[stream, type]
读出一个指定类型的对象。
BinaryRead[stream, {type1, type2, ...}]
读出一个指定类型的对象序列。
  • 有可能读出的类型为:
"Byte"8 位无符号整数
"Character8"8 位字符
"Character16"16 位字符
"Complex64"IEEE 单字长精度复数
"Complex128"IEEE 双倍字长精度复数
"Complex256"IEEE 四倍字长精度复数
"Integer8"8 位带符号整数
"Integer16"16 位带符号整数
"Integer24"24 位带符号整数
"Integer32"32 位带符号整数
"Integer64"64 位带符号整数
"Integer128"128 位带符号整数
"Real32"IEEE 单字长精度实数
"Real64"IEEE 双倍字长精度实数
"Real128"IEEE 四倍字长精度实数
"TerminatedString"零终止的 8 位字符串
"UnsignedInteger8"8 位无符号整数
"UnsignedInteger16"16 位无符号整数
"UnsignedInteger24"24 位无符号整数
"UnsignedInteger32"32 位无符号整数
"UnsignedInteger64"64 位无符号整数
"UnsignedInteger128"128 位无符号整数
  • 如果只有一个带有指定名称的开放输入数据流,则赋予 BinaryRead 的第一个自变量可以是 InputStream["name", n],或者直接是 "name"
  • 你可以打开一个文件或管道,以便利用 OpenRead 获得一个 InputStream 对象。
  • 对于任意数据流而言总会保持一个"当前点"。当你从一个数据流中读取一个对象时,该当前点留在你读取的输入后面。因此可以连续调用 BinaryRead 以便在文件一类的数据流中读取连续对象。
  • 可以使用以下可选项:
ByteOrdering$ByteOrdering使用的字节排序方式
Path$Path搜索打开文件的路径
生成一个带有字节序列的文件:
In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
In[3]:=
Click for copyable input
从文件中读取第一个字节:
In[4]:=
Click for copyable input
Out[4]=
把第二个字节读取为 8 位字符:
In[5]:=
Click for copyable input
Out[5]=
把下一个字节读取为 8 位带符号整数:
In[6]:=
Click for copyable input
Out[6]=
关闭该文件:
In[7]:=
Click for copyable input
Out[7]=
5.1 的新功能 | 6 中的修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team