1 个字节编码为 5 个字符("0xNN")。
Base64 用于将二进制数据密集打包成文本。在我的测试中,每个字节有 1.36 个字符。
下面是一个例子
void OnStart() { uchar result[], result2[]; uchar key[] = { 0 }; uchar data[]; int len1 = StringToCharArray("The quick brown fox jumps over the lazy dog", data); int len2 = CryptEncode(CRYPT_BASE64, data, key, result); Print("len1=", len1, ", len2=", len2, ", result=", CharArrayToString(result)); CryptDecode(CRYPT_BASE64, result, key, result2); Print("result2=", CharArrayToString(result2)); }
len1=50, len2=68, result=VGhlIHF1aWNrIGJyb3duICBmb3ggIGp1bXBzICBvdmVyICB0aGUgIGxhenkgIGRvZwA=
Edgar:
原来如此...
您有 1 个字节,编码为 5 个字符("0xNNN,")。
Base64 用于将二进制数据密集打包成文本。在我的测试中,每个字节有 1.36 个字符。
下面是一个例子
len1=50, len2=68, result=VGhlIHF1aWNrIGJyb3duICBmb3ggIGp1bXBzICBvdmVyICB0aGUgIGxhenkgIGRvZwA=
Artyom Trishkin:
我们说的不是这个...
我们说的不是这个...
啊,你是说你有用于编译的数据,并且在 ex5 中将以 1:1 的比例占用。是的,这里不需要打包。
Edgar:
稍后,程序资源中的存储空间将被添加--编译器会在那里压缩数据。
啊,您是说您有用于编译的数据,在 ex5 中将占用 1:1。是的,没必要在这里打包。
新文章 轻松快捷开发 MetaTrader 程序的函数库(第二十部分):创建和存储程序资源已发布:
本文讨论如何将数据存储在程序的源代码之中,并从中创建音频和图形文件。 在开发应用程序时,我们经常需要音频和图像。 MQL 语言拥有运用此类数据的若干种方法。
编译 EA 之后,它将在日志中显示文件创建结果,播放硬币坠落的声音,并在屏幕的右下角显示由两个图像构成的 LED 图片。 您可以通过单击 LED 来切换图像。 实际上,这是一个拥有两种状态(打开/关闭)的按钮。
作者:Artyom Trishkin