字符串中 boost uuid 的大小返回 36

发布于 2024-10-20 01:09:42 字数 401 浏览 5 评论 0原文

我试图使用 boost::uuid 生成 16 个字符的 uuid 字符串,但它返回 36 个字符。

boost::uuids::uuid uid == boost::random_generator()();
std::cout << size of uid:" << uid.size << std::endl; //always 16
std::stringstream ss;
ss<< uid;
std::string s = ss.str();
std::cout << "size of uid:" << s.size() << std::endl; // always 36

如何获取 16 个字符的 uuid 字符串?

I am trying to generate 16 character uuid string using boost::uuid but it returns 36 characters.

boost::uuids::uuid uid == boost::random_generator()();
std::cout << size of uid:" << uid.size << std::endl; //always 16
std::stringstream ss;
ss<< uid;
std::string s = ss.str();
std::cout << "size of uid:" << s.size() << std::endl; // always 36

How do I get 16 character uuid string?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒绊 2024-10-27 01:09:42

根据 文档,一段代码应该给你一个 16 个字符的字符串:

#include <boost/uuid/uuid.hpp>            // uuid class
#include <boost/uuid/uuid_generators.hpp> // generators
#include <boost/uuid/uuid_io.hpp>         // streaming operators etc.
boost::uuids::uuid uid = boost::random_generator()();
std::string s(uid.size());
std::copy(u.begin(), u.end(), s.begin());

但是它不是一个 ASCII 字符串,而是一个字节字符串。由于 ASCII 可以用 2 个十六进制字符表示字节,因此 ASCII 中的 UUID 有 32 个字符加上 4 个分隔符,即 36。所以您已经有了正确的代码:)

According to the documentation, this piece of code should give you a 16 character string:

#include <boost/uuid/uuid.hpp>            // uuid class
#include <boost/uuid/uuid_generators.hpp> // generators
#include <boost/uuid/uuid_io.hpp>         // streaming operators etc.
boost::uuids::uuid uid = boost::random_generator()();
std::string s(uid.size());
std::copy(u.begin(), u.end(), s.begin());

However it's not an ASCII string but a byte string. As ASCII can represent bytes with 2 hex characters, UUID in ASCII have 32 characters plus 4 separators, 36. So you already have the right code :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文