找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2641|回复: 14

[研讨] 关于Odcl 的 base64 编码解码

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2013-5-16 20:12:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 yxpxa 于 2013-5-16 22:57 编辑

实际上 Odcl 内部是有 base64 编码和解码函数的,只不过没有开放。
君不见 Odcl 另存为 *.lsp 的格式就是 base64 编码,调用时再用 Dcl_Project_Import 函数解码

谁去和 Odc l的作者套套近乎,把这个函数弄出来。

base64编码解码的算法到不复杂,读取二进制文件,然后再替换为预设的64个字符
在 Lisp 里用 open 函数打开一个文件,但 read-line 函数却只能以字符串读入,
就像用记事本去打开一个mp3,得到当然是乱码了,所以 lisp 编程似乎已没法解决。
同样,解码的过程 write-line 函数也只能输出字符串,没法写入二进制

这个技术可以用来打包vlx,就像打包Odcl一样。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-16 20:15:47 | 显示全部楼层
BASE_64网上有解码工具,你试试这个地址,看看能不能解开并加载。
温馨提示:Base64 不属于加密解密的范畴,真正的加密是如果不知道密码或者 Key,即使密码学家也难以解密。Base64 编码后的数据基本等同于明文,请不要用 Base64 编码处理机密信息。











论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2013-5-16 20:20:07 | 显示全部楼层
本帖最后由 yxpxa 于 2013-5-16 20:26 编辑
XDSoft 发表于 2013-5-16 20:15
BASE_64网上有解码工具,你试试这个地址,看看能不能解开并加载。
http://maclife.net/tools/base64/[/ifr ...


谢谢
我的目的是想用 lisp 代码来解码,因为 base64 编码已经以文本格式编译进vlx里面了。
用 vl-get-resource 函数可以读取编码,如果 lsp 能解码的话,就可以直接生成编码前文件。

用word2007或2010将文件另存为单个网页文件.mht,也可以得到一般图片的base64编码

听说 Odc l是开源的,难道是我们太封闭了吗,整天闭门造车。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-16 20:37:23 | 显示全部楼层
yxpxa 发表于 2013-5-16 20:20
谢谢
我的目的是想用 lisp 代码来解码,因为 base64 编码已经以文本格式编译进vlx里面了。
用 vl-get ...

从开始,ODCL就是开源的,C++源代码都可以下载到。

ODCL的开发者就是原来ObjectDCL的开发者,ObjectDCL卖给别的公司后,自己开源发布ODCL了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-5-16 22:07:00 | 显示全部楼层
我有点闹不明白了,OpenDcl已经提供了转码和解码的机制,你去研究他的解码有什么用啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2013-5-16 23:03:01 | 显示全部楼层
本帖最后由 yxpxa 于 2013-5-16 23:14 编辑
牢固 发表于 2013-5-16 22:07
我有点闹不明白了,OpenDcl已经提供了转码和解码的机制,你去研究他的解码有什么用啊!


固老大,我不是说了么,为了打包。
vlx 默认只能打包三种文件 .lsp .dcl .txt 文件,其实只有一种文件,就是文本文件。
那么将任何二进制文件转为 base64 字符集的文本文件是不是有用?
bb.jpg

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-5-16 23:06:09 | 显示全部楼层
本帖最后由 牢固 于 2013-5-16 23:07 编辑
yxpxa 发表于 2013-5-16 23:03
固老大,我不是说了么,为了打包。
vlx 默认只能打包三种文件 .lsp .dcl .txt 文件

vlx可以直接打包 test.odcl.lsp文件!在和我一起学OpenDCl对话框程序设计【一】、入门篇 里我不已经说过了么!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-16 23:09:09 | 显示全部楼层
yxpxa 发表于 2013-5-16 23:03
固老大,我不是说了么,为了打包。
vlx 默认只能打包三种文件 .lsp .dcl .txt 文件

ODCL存储成扩展名LSP的就是BASE64压缩的代码,它就是LSP了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-16 23:10:39 | 显示全部楼层
yxpxa 发表于 2013-5-16 23:03
固老大,我不是说了么,为了打包。
vlx 默认只能打包三种文件 .lsp .dcl .txt 文件

而且BASE64压缩后的ODCL代码,是可以直接放入你的LSP文件中的啊,不就一起打包进去了吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2013-5-16 23:17:03 | 显示全部楼层
本帖最后由 yxpxa 于 2013-5-17 07:29 编辑

我的语文能力太差,导致表达不清啊
我是想把二进制文件,比如图片、声音、可执行文件等打包入 vlx ,不是 odcl 文件

刚才搜了一下,原来有人在研究了。
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=78782

highflybir 已经解决二进制保存问题,不过不是base64的代码,他的转码之后体积会大两倍,对高版本CAD支持不好。
而 base64 编码比原文件只大三分之一,对优化 vlx 的大小非常有用, 速度估计会快些。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-16 23:37:26 | 显示全部楼层
yxpxa 发表于 2013-5-16 23:17
我的语文能力太差,导致表达不清啊
我是想把二进制文件,比如图片、声音、可执行文件等打包入 vlx ,不是  ...

你想把打包的图片、声音什么的给谁用?ODCL就可以把他需要的图片什么的打包进ODCL啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2013-5-17 00:05:30 | 显示全部楼层
本帖最后由 yxpxa 于 2013-5-17 00:10 编辑
Lispboy 发表于 2013-5-16 23:37
你想把打包的图片、声音什么的给谁用?ODCL就可以把他需要的图片什么的打包进ODCL啊。


这是个问题....
我在ODCL里做了一个帮助文件,用 html 控件显示,htm 框架代码我用 lisp 已经生成,相当于网页文件打包入程序,但是 htm 需要的图片和声音不能游离在外啊。
这样给别人发布程序,只需要一个 vlx 即可,而不是一大堆乱七八糟的东西。
本来 word 也能保存为单个 mht 的 web档案 文本格式,然后再打包,但是 word 给 mht 里面加料太多了....
mht 其实就是 base64 编码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-17 00:17:54 | 显示全部楼层
yxpxa 发表于 2013-5-17 00:05
这是个问题....
我在ODCL里做了一个帮助文件,用 html 控件显示,htm 框架代码我用 lisp 已经生成,相 ...



QQ截图20130517001443.png


ODCL里面需要的图片是可以打包进你的程序中的,没打包前ODCL显示什么样,压缩后的BASE64里面一样是什么样。

既然你是显示的HTML,如果是URL链接的,应该和你程序不冲突,直接访问显示了,如果是你本地的HTML,没什么必要吧?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 837个

财富等级: 财运亨通

发表于 2013-5-17 11:31:35 | 显示全部楼层
打包进去了,还得写出来才行吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9个

财富等级: 恭喜发财

发表于 2019-3-13 16:44:43 | 显示全部楼层
用C#base64编码解码很方便,到了LISP真是伤脑筋
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-27 12:18 , Processed in 0.514733 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表