【问题标题】:What is an opaque byte string?什么是不透明字节串?
【发布时间】:2011-04-30 02:01:19
【问题描述】:

我已经用了一段时间了,但我没有发现任何有用的东西。什么是不透明字节字符串,它的 c/c++ 示例是什么?

更新 更多上下文,来自 rfc5001

2.3. NSID 选项 NSID 选项的 OPTION-CODE 为 3。 NSID 选项的 OPTION-DATA 是一个不透明的字节字符串, 其语义被故意留在协议之外。看 第 3.1 节供讨论。

【问题讨论】:

标签: c++ c string


【解决方案1】:

它们可能表示未指定格式的字节数组。 “不透明”是指内部结构存在,但未知。所以程序应该将字符串作为一个整体来处理——存储、传输它,而不是尝试解释。

C++ 示例是std::vector<unsigned char> 的一个实例。 C 示例是 unsigned char 数组(动态 AKA malloc'ated 或静态)。

【讨论】:

    【解决方案2】:

    来自https://www.rfc-editor.org/rfc/rfc2608

    不透明值是字节序列。它们与字符串不同,因为它们以序列“\FF”开头。这,未转义,是非法的 UTF-8 编码,表明后面是一个以转义符号表示的字节序列,构成二进制值。例如,“0”字节编码为“\FF\00”。

    【讨论】:

      猜你喜欢
      • 2020-03-28
      • 1970-01-01
      • 2016-07-17
      • 2013-12-17
      • 1970-01-01
      相关资源
      最近更新 更多