我需要制作一个 128 位 GUID 的字符串表示,它表示 8 位 block 而不是 4 位;像 base 256 一样:/为什么?因为我需要缩短 GUID 的字符串十六进制表示的长度,它太长了。我的最大数组大小为 31 加上 NULL 终止符。此外,字符值不能从 0x000 到 0x01F...。这让我很头疼,但我知道这是可以做到的。关于最好和最安全的方法有什么建议吗?现在我只是在乱搞 memcpy 并添加 0x01F 但这些数字一直在我脑海中跳来跳去......不能把它们钉下来不!我必须相互转换:\
最佳答案
尝试 base64 编码:它为每个字符打包 6 位并且仍然是可移植的。您将需要 22 个字符以可移植的方式存储 128 位 GUID。
关于c++ - 带字符偏移量 0x01F 的 Base 256 GUID 字符串表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091718/