问题标签 [cbor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1243 浏览

endianness - 新协议中的网络字节顺序有什么优势吗?

(我知道很多人会很想结束这个问题;请不要;我要求提供具体的技术答案,如果有的话。)

由于无法在 stackoverflow 上询问的原因,“网络字节顺序”是大端的。许多旧协议使用该顺序并且无法更改,但我想知道是否有任何技术原因为新协议选择大端。

我认为 little endian 更好,因为 99.99% 的处理器在使用中都是 little endian(ARM 在技术上可以同时做到这两种,但实际上它总是设置为 little endian)。所以我很惊讶地看到 CBOR,一个相对较新的协议,使用大端。有没有我没有想到的优势?

0 投票
2 回答
1292 浏览

java - 将固定大小的 Map 序列化为 CBOR

我有以下 JSON:

我想转换为 CBOR 格式。根据 cbor.me 我有以下输出:

82A102A16163F5A103A161700A

但是,当使用 Jackson Binary CBOR Serializer 时,我有以下输出:

82BF02BF6163F5FFFFBF03BF61700AFFFF

这没有错,但没有优化......我有一个额外的 4 个不必要的字节添加到它实际上是什么。

然后我尝试手动序列化 JSON 但结果相同:

这是杰克逊二进制格式库的错误还是我缺少 ObjectMapper 的一些配置属性?

编辑:这似乎是一个已知问题:https ://github.com/FasterXML/jackson-dataformats-binary/issues/3

0 投票
2 回答
1524 浏览

decode - 如何解码 Skype for Business 服务返回的访问令牌

根据【Skype for Business认证】 https://ucwa.skype.com/documentation/GettingStarted-Authentication,我们可以通过oauth服务获取oauth访问令牌。访问令牌如下所示:

我想知道访问令牌是否确实是 CBOR Web 令牌 (CWT),如果是,如何使用 python 或任何语言解码令牌。

0 投票
1 回答
496 浏览

c++ - 使用 CBOR 编码和解码时出现问题

我有下面的类,我想使用TinyCBOR进行解码和编码。

我正在对此类进行编码和解码:

问题是我的程序打印:

它给出了读取浮点数的错误。

可能是什么问题?
我也尝试添加cbor_value_advance_fixed(&value);,但结果是一样的。此外,我在TinyCBOR网站
上找不到任何编码/解码多个值的示例。

0 投票
1 回答
193 浏览

encoding - CBOR 负整数的基本原理

我很困惑为什么 CBOR 选择将负整数编码为无符号二进制数,其值定义为 -1 减去无符号值,而不是例如常规二进制补码表示。除了增加的负范围(IMO,与增加的复杂性相比,它的价值值得怀疑)之外,我是否还缺少一个明显的优势?

0 投票
2 回答
1320 浏览

c++ - 使用 TinyCbor C 库对 uint8_t 进行编码和解码

我正在实现基于 C++ 11 的应用程序,并且我正在使用TinyCbor C 库对应用程序特定数据进行编码和解码,如下所示:

当我将值设置uint8_t varA为低于 20 时,上面的代码有效,我看到 20 打印在控制台上,但如果我设置超过 20,那么有时它会给出错误CborErrorIllegalSimpleType。或者如果 value 设置为21then 它返回我的类型为CborBooleanTypeor CborNullType

  1. 代码有什么问题

  2. 如何uint8_t使用 TinyCbor 进行编码和解码。

0 投票
1 回答
108 浏览

encoding - CBOR 诊断 notation - 表示项目的顺序

我想知道是否可以使用 CBOR 诊断符号以给定的顺序表达一个简单的具体 CBOR 项目序列。简单地说,我的意思是我想避免为此使用数组;我想要的是流语义。例如:

1, "foo", true, simple(53), { a: "bar", x: 30 }, [1, 2, 3]

不是这个:

[1, "foo", true, simple(53), { a: "bar", x: 30 }, [1, 2, 3]]

此外,是否也可以使用CDDL(CBOR 的模式定义语言)来做到这一点?

0 投票
0 回答
234 浏览

jackson - 以 CBOR 格式解码 VALUE_EMBEDDED_OBJECT 令牌类型

我是 CBOR 编码格式的新手,做 POC 来理解这种格式。我正在使用更快的 XML 库。面临令牌类型VALUE_EMBEDDED_OBJECT之一的问题。我不知道如何解析这种类型的对象。任何人都可以在这方面提供帮助吗?

谢谢。

0 投票
2 回答
3042 浏览

javascript - 无法理解来自 JavaScript 的 WebAuthn API 错误

我目前正在为 Django 构建一个 AJAX 注册端点,以允许 FIDO2 身份验证(物理硬件密钥登录)。这是来自Yubico 的官方 fido2 python 库的示例/文档。

唯一的依赖是cbor.jsjs-cookie。现在所有服务器端都在工作,但是,我在调用该navigator.credentials.create方法时不断收到此 JavaScript 错误

编码:

我想不通。你知道有什么问题吗?谢谢!

0 投票
0 回答
56 浏览

swift - 哈希不适用于数组swift中的数据类型

我正在尝试使用CBOR.encode方法转换有效负载,SwiftCBOR该方法给我一个Array<UInt8>格式的结果,当结果被散列时,它给出了Array<UInt8>格式的结果,但我需要它的散列

散列的预期输出payloadbytes

6097B04A89468E7AAA8A1784B9CBAF0D2E968AFFC7F5AFE3B0B30CDF44A79EB41464EC773D0D729FA7E6AD6F7462EDEA09B34177CDB0D0DF4A6DDF3C6117C01E