"ByteArray" (编译类型)
"ByteArray" (编译类型)
"ByteArray"
表示一维字节数组.
更多信息
- "ByteArray" 可在 Typed 及相关结构中使用来指定类型.
- "ByteArray" 对象自动由内存进行管理.
函数构造
- ByteArray["string"] 通过从 Base64 编码的字符串中提取字节值来构造 "ByteArray" 对象.
- ByteArray[na] 构造数组 na 的副本,其中 na 具有类型 "NumericArray"::["UnsignedInteger8", 1].
- CreateTypeInstance["ByteArray",len] 构造一个长度为 len 的字节数组.
- CreateTypeInstance["ByteArray",byte,len] 构造一个长度为 len 且用 byte 值填充的字节数组.
转换
- "ByteArray" 对象可以与 ByteArray 表达式相互转换.
- "ByteArray" 对象可以与 "NumericArray"::["UnsignedInteger8",1] 对象相互转换.
表达式
"NumericArray"
范例
打开所有单元 关闭所有单元基本范例 (2)
"ByteArray" 可以用作 CompiledCodeFunction 的输入或输出:
cf = FunctionCompile[Function[Typed[ba, "ByteArray"], ba]]cf[ByteArray[{1, 2, 3}]]func = FunctionCompile@Function[Typed[str, "String"],
ByteArray[str]
]func["AQIDBAUGBwg="]范围 (8)
构造 (4)
func = FunctionCompile@Function[Typed[str, "String"],
ByteArray[str]
]func["AQIDBAUGBwg="]func = FunctionCompile@Function[Typed[na, "NumericArray"::["UnsignedInteger8", 1]],
ByteArray[na]
]func[NumericArray[{1, 2, 3}, "UnsignedInteger8"]]func = FunctionCompile@Function[Typed[len, "MachineInteger"],
CreateTypeInstance["ByteArray", len]
]Length[func[10]]Normal[func[10]]创建一个给定长度的 "ByteArray" 实例,并填充初始值:
func = FunctionCompile@Function[{Typed[byte, "UnsignedInteger8"], Typed[len, "MachineInteger"]},
CreateTypeInstance["ByteArray", byte, len]
]Normal[func[42, 10]]转换 (4)
将 "ByteArray" 转换为 "NumericArray":
func = FunctionCompile@Function[{Typed[ba, "ByteArray"]},
Cast[ba, "NumericArray"::["UnsignedInteger8", 1]]
]func[ByteArray[{1, 2, 3}]]从 "NumericArray" 转换 "ByteArray":
func = FunctionCompile@Function[{Typed[na, "NumericArray"::["UnsignedInteger8", 1]]},
Cast[na, "ByteArray"]
]func[NumericArray[{1, 2, 3}, "UnsignedInteger8"]]将 "ByteArray" 转换为 "InertExpression":
func = FunctionCompile@Function[{Typed[ba, "ByteArray"]},
Cast[ba, "InertExpression"]
]func[ByteArray[{1, 2, 3}]]从 "ByteArray" 转换 "InertExpression":
func = FunctionCompile@Function[{Typed[expr, "InertExpression"]},
Cast[expr, "ByteArray"]
]func[ByteArray[{1, 2, 3}]]属性和关系 (5)
func = FunctionCompile@Function[Typed[ba, "ByteArray"],
Length[ba]
]func[ByteArray[{1, 2, 3}]]func = FunctionCompile@Function[Typed[ba, "ByteArray"],
Head[ba]
]func[ByteArray[{1, 2, 3}]]func = FunctionCompile@Function[{Typed[ba, "ByteArray"], Typed[x, "MachineInteger"]},
ba[[x]]
]func[ByteArray[{1, 2, 3}], 2]func = FunctionCompile@Function[{Typed[ba, "ByteArray"]},
Normal[ba]
]func[ByteArray[{1, 2, 3}]]func = FunctionCompile@Function[{Typed[ba, "ByteArray"]},
ToString[ba]
]func[ByteArray[{1, 2, 3}]]可能存在的问题 (2)
技术笔记
相关指南
历史
2023年引入 (13.3)