我正在使用 libconfig 创建配置文件,其中一个字段是加密文件的内容。出现此问题是因为文件中有一些转义字符导致内容的部分存储。存储此数据以避免意外转义字符的最佳方法是什么?转换成unicode? 有什么建议吗?
最佳答案
您可以使用 URL 编码,其中每个非 ASCII 字符被编码为 %
字符后跟两个十六进制数字,或者您可以使用 base64编码,其中每组 3 个字节被编码为 4 个 ASCII 字符(3x8 位 -> 4x6 位)。
例如,如果您有以下字节:
00 01 41 31 80 FE
您可以对其进行 URL 编码,如下所示:
%00%01A1%80%FE
或者你可以像这样使用 base64 编码,0-25 = A-Z, 26-51 = a-z, 52-62 = 0-9, 62 = ., 63 =/:
(00000000 00000001 01000001) (00110001 10000000 11111110) -->
(000000 000000 000101 000001) (001100 011000 000011 111110)
AAJBNYD.
关于c++ - 使用 libconfig 存储加密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37814466/