学习语言

字节串与二进制 I/O

用不可变字节串处理图片、字体、压缩内容和网络协议帧。

字节串保存任意二进制,不要求 UTF-8。它不可变、按内容相等,显示为<字节串 N 字节>而不泄露内容;单值硬上限为 4 MiB。1.1.4 不新增字节字面量,统一通过标准:字节构造。

「标准:字节」 字节;

 正文:字节串 字节.从文字「言序🌏」);
 字节.长度(正文); # 10,而非 4
 字节.转文字(字节.切片(正文,06));
 字节.转数列(字节.从数列(【0127128255】));

切片使用[起点, 终点)字节偏移。查找返回第一个字节偏移或从数列只接受 0..255 整数;转文字严格解码,非法字节返回BYTES_UTF8

文件与元数据

文件.读取字节/写入字节/追加字节不做编码转换,返回读取值或实际写入字节数。文件.状态(路径)返回种类字节数只读和可空修改毫秒。这些入口继续使用同一项file权限。

HTTP 客户端

网络.请求字节(方法,地址,首部,正文,超时毫秒,最大字节)按实际字节数发送和限制响应;返回典的正文为字节串。调用方可设置业务首部,但不能覆盖HostContent-LengthTransfer-Encoding或逐跳首部。

安全原语

  • 随机.安全字节(长度)使用操作系统 CSPRNG,单次上限 1 MiB。
  • 哈希.HMACSHA256(密钥,正文)返回 32 字节摘要。
  • 哈希.恒时相等(左,右)用于验证 Cookie、Session、CSRF 和 API Token 签名。
  • 日期.HTTP日期/解析HTTP日期读写 IMF-fixdate;环境.参数返回--后的程序参数。

这些能力只是上层网络应用的通用底座。1.1.4 不提供 HTML、HTTP 服务端、Web 框架、异步 I/O、服务端 TLS、HTTP/2/3 或 WebSocket。