delphi XE2 Encodestring 和 IdencoderMIME.encodestring 区别

urchinbaby 2015-09-24 05:29:49
新手菜鸟,最近才开始学习Delphi。用的XE2,遇到个问题 关于BASE64的。
XE2中用两个可以编码的方法:Encodestring 和 IdencoderMIME.encodestring
我要实现借助接口上传一个XML:
<?xml version="1.0" encoding="GBK"?>
<data>
<InfoKind>0</InfoKind>
<Name>测试</Name>
<Code>110101000000001</Code>
<Account>地址<Account>
<Phone>电话<Phone>
<Rate>17</Rate>
<Notes>备注</Notes>
</data>
用EncodeString编码,得到:
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iR0JLIj8+DQogPGRhdGE+DQogICAgICA8SW5m
b0tpbmQ+MDwvSW5mb0tpbmQ+CQ0KICAgICAgPE5hbWU+suLK1DwvTmFtZT4JDQogICAgICA8Q29k
ZT4xMTAxMDEwMDAwMDAwMDE8L0NvZGU+CQ0KICAgICAgPEFjY291bnQ+tdjWtzxBY2NvdW50PgkN
CiAgICAgIDxQaG9uZT6157uwPFBob25lPgkNCiAgICAgIDxSYXRlPjE3PC9SYXRlPgkNCiAgICAg
IDxOb3Rlcz6xuNeiPC9Ob3Rlcz4NCiA8L2RhdGE+DQo=

用IdencoderMIME.encodestring编码,得到:
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iR0JLIj8+DQogPGRhdGE+DQogICAgICA8SW5mb0tpbmQ+MDwvSW5mb0tpbmQ+CQ0KICAgICAgPE5hbWU+Pz88L05hbWU+CQ0KICAgICAgPENvZGU+MTEwMTAxMDAwMDAwMDAxPC9Db2RlPgkNCiAgICAgIDxBY2NvdW50Pj8/PEFjY291bnQ+CQ0KICAgICAgPFBob25lPj8/PFBob25lPgkNCiAgICAgIDxSYXRlPjE3PC9SYXRlPgkNCiAgICAgIDxOb3Rlcz4/PzwvTm90ZXM+DQogPC9kYXRhPg==

服务器接到之后,解码:
1.用EncodeString的
<?xml version="1.0" encoding="GBK"?>
<data>
<Inf舳栨C?卖栨f舳栨C鄲孝逆諷?,瑿卖?諷鄲孝?鯶fe>110101000000001</Code>
<Account>地址<Account>
??嗹鍿隵{??嗹鍿鄲孝?FS?s迈&FS鄲孝f <Notes>备注</Notes>
</data>

2.用IdencoderMIME.encodestring的
<?xml version="1.0" encoding="GBK"?>
<data>
<InfoKind>0</InfoKind>
<Name>??</Name>
<Code>110101000000001</Code>
<Account>??<Account>
<Phone>??<Phone>
<Rate>17</Rate>
<Notes>??</Notes>
</data>

一个汉字乱码,一个汉字变成???

我想问下 要将汉字完整解码出来,我该怎么写?

Encodestring 和 IdencoderMIME.encodestring 区别在哪?

前者76个字符会自动换行,后者为啥不换?
...全文
980 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kejian 2016-03-09
  • 打赏
  • 举报
回复
同问。 帮顶。 紫薯补丁
urchinbaby 2015-09-25
  • 打赏
  • 举报
回复
有没有大神帮我看看啊
源码链接: https://pan.quark.cn/s/a4b39357ea24 微信小程序是由腾讯公司设计的一种轻量级应用开发平台,主要面向移动设备,旨在为用户带来无需下载安装即可直接使用的应用服务体验。在微信小程序的开发实践中,"模仿美团菜单 swiper分类菜单"是一项常见的技术应用,其目的是达成与美团外卖应用相似的交互模式,使用户能够轻松地浏览和挑选各种商品或服务。 在微信小程序的技术体系中,`swiper`组件属于轮播图功能模块,通常用于呈现多张图片或卡片式的切换界面,能够达成动态滑动展示不同分类菜单的功能。在模拟美团菜单的应用情境下,`swiper`组件一般与`swiper-item`组件协同工作,每一个`swiper-item`对应一个分类,用户可通过左右滑动来切换不同的分类菜单。 为了达成这样的功能,首先需要在微信小程序的`json`配置文档中引入`swiper`组件,并在`wxml`结构文档中构建相应的布局代码,将每个分类以`swiper-item`的形式进行组织。同时,需要在`wxss`样式文档中定义恰当的样式,保证分类菜单的视觉呈现符合设计规范。 接下来,我们将在`js`逻辑文档中处理`swiper`的切换逻辑,通过监听`bindchange`事件来识别当前选中的分类,并根据这一信息动态获取对应的子菜单信息。为了达成类似美团的层级菜单功能,可能还需要借助`picker`或`navigator`组件来展示二级分类或商品详情。 在开发阶段,需要关注以下关键点: 1. 数据绑定:保证数据与界面之间的双向链接准确无误,以便在选择分类时即时更新显示内容。 2. 动态加载:针对大量数据,可能需要采取异步加载机制,防止一次性加载过多内容引发性能瓶颈...
代码下载地址: https://pan.quark.cn/s/72bd50ecb2fb 《微信飞机大战素材详解》 微信飞机大战作为一款广受欢迎的休闲游戏,凭借其便捷的操作方式和紧张刺激的游戏过程,赢得了众多用户的青睐。本文将系统性地剖析这款游戏的关键素材,旨在帮助开发者全面掌握游戏的设计理念与实现方法。 我们聚焦于游戏的核心构成——"AirplaneResource"。此名称一般指向游戏资源库,其中收纳了游戏中所有的视觉素材、音频资料以及动画元素。在微信飞机大战的语境下,这些资源构成了游戏画面呈现、音效播放和动态效果的基础。 1. **图像素材**:游戏中的飞机造型、敌方单位、弹药以及爆炸效果等视觉元素,均以图像素材的形式进行展示。图像素材通常涵盖PNG或JPG格式的静态图片,也包括GIF或APNG格式的动态图片。开发者需要细致地设计并优化这些图像,确保在各种设备上都能实现流畅的渲染,同时维持视觉表现力。 2. **声音素材**:游戏的背景音乐、射击音效、爆炸声等音频片段,对于构建游戏氛围具有决定性作用。这些音频文件可能以MP3、WAV或OGG格式进行存储,开发者需要权衡音频的压缩程度与音质,以确保在不牺牲游戏体验的前提下,有效控制文件体积。 3. **动画序列**:飞机的飞行轨迹、攻击动作、爆炸过程等动态表现,通常借助序列帧动画技术实现。这些序列帧图片组合而成的动画,通过编程控制播放速率和顺序,为游戏增添生动的动态效果。 4. **物理接触判定**:游戏中飞机与弹药之间的接触判定,是通过算法完成的。开发者可能会采用基础的矩形接触判定或更精密的像素级接触判定,以保证游戏的公平性和挑战性。 5. **游戏规则**:微信飞机大战的得分机制、生命值系统、敌机生成逻辑等...

16,741

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧