我已经玩了一段时间了,但我发现没有什么太有用了。什么是不透明的字节字符串以及它的c / c ++示例是什么?
更新 更多背景信息,来自rfc5001
2.3。 NSID选项 NSID选项的OPTION-CODE是3。 NSID选项的OPTION-DATA是不透明字节串,即 故意留在协议之外的语义。看到 第3.1节讨论。
答案 0 :(得分:11)
它们可能意味着未指定格式的字节数组。 “不透明”意味着内部结构存在,但未知。因此,程序应该将字符串视为一个整体 - 存储它,传输它,但不要试图解释。
C ++示例将是std::vector<unsigned char>
的实例。一个C示例是一个unsigned char数组(动态AKA malloc
'或静态)。
答案 1 :(得分:3)
来自https://tools.ietf.org/html/rfc2608:
不透明值是字节序列。它们与字符串不同,因为它们以序列“\ FF”开头。这是未转义的,是非法的UTF-8编码,表明接下来是以转义符号表示的字节序列,它构成二进制值。例如,'0'字节被编码为“\ FF \ 00”。