【发布时间】:2011-02-23 21:13:34
【问题描述】:
我有一个表示为十进制数的 UUID(128 位数字),我需要将其解析为 C 中的数字形式。我的目标数据结构是 char[16],使用 bignum 库不是选项。有人能指出一个合适的算法吗?
【问题讨论】:
-
当您使用 uuids 时,您将使用 RPC。你肯定有一个运行时支持库。辅助函数的通用名称是 UuidFromString。
-
这将解析正常格式的 uuid(aaaabbbb-cccc-dddd-eeee-ffffgggghhhh,十六进制)。 “表示为十进制数”不是正常格式。
-
你有一个包含十进制表示的字符串?这个是从哪里来的?我要投诉!
-
这是针对 ASN.1 OID 解析器的。 {joint-iso-itu-t(2) uuid(25)} OID 弧允许注册 UUID,但 ASN.1 要求弧 ID 的十进制表示。因此,例如,UUID 为 3be753a0-051d-11de-8329-0002a5d5c51b 的“motorola”弧显示为 {joint-iso-itu-t(2) uuid(25) motorola(79625568443717255337188391839044322587)}
-
这个问题以前在这里被问过。看看:stackoverflow.com/questions/2652760
标签: c algorithm parsing string bignum