delphi EncdDecd.pas单元中Encoding方法出现#$D#$A的解决方法

例如:

s:= ‘http://detail.tmall.com/item.htm?id=45545826531&abbucket=_AB-M129_B17&acm=03130.1003.1.161728&aldid=4HatiDee&abtest=_AB-LR129-PV129_1393&scm=1003.1.03130.13_45545826531_161728&pos=6#detail‘;

s:=Encoding(s);  //加密后的字符串中间就会多了#$D#$A,例如‘ABCDDDD‘#$D#$A‘DDESDFGF‘

该单元为你的Delphi安装目录下,解决方法是将该单元放到你的程序源代码文件夹下,并Shift+F11在项目中添加该单元,这样就会引用你程序单元的EncdDecd.pas,而不会去引用delphi安装目录下的EncdDecd.pas单元。

并且要增加一行代码,替换掉那个字符串:

function EncodeString(const Input: string): string;

var

InStr, OutStr: TStringStream;

str_result   : string;

begin

InStr := TStringStream.Create(Input);

try

OutStr := TStringStream.Create(‘‘);

try

EncodeStream(InStr, OutStr);

str_result := OutStr.DataString;

str_result := StringReplace(str_result,#$D#$A,‘‘,[rfReplaceAll,rfIgnoreCase]);  //增加代码!!!

Result     := str_result;

finally

OutStr.Free;

end;

finally

InStr.Free;

end;

end;

时间: 2024-10-15 13:12:14

delphi EncdDecd.pas单元中Encoding方法出现#$D#$A的解决方法的相关文章

在Delphi的窗口单元中,如何调用其它窗口的单元。

在Delphi的窗口单元中,如何调用其它窗口的单元.(转载) . 在Delphi中简单的调用单元 unit实例 一,新建一个工程文件,默认的文件是unit1,代码如下:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton;

【原创】关于flexviewer中引入图表时报的TypeError #1009解决方法

在自定义的widget中引入图表后,运行时出现TypeError #1009错误.本人网上查找了很多资料,其中大部分都是关于Flash中的动画效果问题,与这里的问题关系型不太大.故把问题的解决方法写在这里,与人方便,与己方便. 方法一: 1.在自定义的widget中添加如下两个方法: private function copyStyleFromParent(selector:String):void { var chartBaseStyle:CSSStyleDeclaration = style

jquery-easyui的datagrid在checkbox多选时,行选中不对应,去除高亮的解决方法

jquery-easyui的datagrid在checkbox多选时,行选中不对应,去除高亮的解决方法 工作中用到一个具有多选功能的easyui-datagrid在处理cell的点击事件时,不允许被选中行的需求. 如下图,点击"查看"时,只是为了查看详细信息,并不是需要选择行. 完成这个需求,其实只需要将datagrid的checkOnSelect属性设置为false就可以了. 然而,当设置该属性后,新的问题就随之出现了. 目前的办法是使用以下代码去除高亮:  (本来是打算处理成c

MVC自我学起之MVCMusic开发中遇到问题:musicstore edit方法出错的原因和解决方法

错误提示: 存储区更新.插入或删除语句影响到了意外的行数(0).实体在加载后可能被修改或删除.刷新 ObjectStateManager 项. 解决案: 1.在view中或model中增加隐藏id 1.1 修改model [HiddenInput()]public int AlbumId { get; set; } 1.2在视图中增加:(一般 若是用自动新建的curd中会自带) 加@Html.HiddenFor(model => model.AlbumId) 2.得到id也有两种方法一种是修改m

ASP.NET MVC中对Model进行分步验证的解决方法

原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个Model的信息,但是又分页面填写信息的,当时我加上ModelState.IsValid这句验证代码的时候,根本没法通过验证,因为在注册的前面三步,注册用户的Model信息都没填写完整,而ModelState.IsValid是对一个实体的所有属性进行判断验证的.当时很纠结,因为刚接触Asp.net

Myeclipse中文件已经上传到服务器目录下,文件也没有被占用,但是页面中无法读取和使用问题的解决方法

这个问题是由于Myeclipse中文件不同步引起的.在Myeclipse中,工程文件是由Myeclipse自动扫描添加的,如果在外部修改了工程目录中的文件但又关闭了自动刷新功能,则会引起文件不同步.此外,在外部没有修改Myeclipse工程中的文件也有可能引起该问题. 解决方法: 有两种解决方法: 1)手动刷新.即在Myeclipse的工程目录中,右键refresh(或者按下F5). 2)配置Myeclipse的选项: a)Myeclipse启动时,刷新workspace,即勾选:window-

在IE浏览器中执行OpenFlashChart的reload方法时无法刷新的解决方法

由于项目需求,需要在网页上利用图表展示相关数据的统计信息,采用了OpenFlashChart技术.OpenFlashChart是一款开源的以Flash和Javascript为技术基础的免费图表,用它能创建一些很有效果的报表分析图表.最重要的是它是开源和免费的,支持多种语言.首先在官网上下载开发包,里面包含了所需的flash文件.js文件以及多种语言的demo,这些demo写的非常详细,可以进行参考开发.由于项目使用.net来开发,所以我学习了一下开发包中对应的dotnet代码,这个.net项目采

Win7中右下角“小喇叭”声音图标消失的解决方法?(已解决)

1.打开任务管理器. 2.右键explorer.exe选择右键结束. 3.在按ctrl+shift+Esc,或者用alter+tab切换到任务管理器. 4.文件--新建任务,输入explorer.exe,这就恢复了. Win7中右下角"小喇叭"声音图标消失的解决方法?(已解决)

问题-[Access]“无法打开工作组信息文件中的表 'MSysAccounts'”的问题的解决方法

问题现象:ado.net oledb方式访问Access数据库文件时报错“无法打开工作组信息文件中的表 'MSysAccounts'”的问题的解决方法 问题处理:1.数据库名称不能命名为:System.mdb可以改为其它名称如:user.mdb 2.表字段名称不能为id名称,可以改为其它名称:abcid,sdeid,dbid,... 3.表名,或字段名不能命名与Access数据库中系统名称相同可以改为其它名称 问题-[Access]"无法打开工作组信息文件中的表 'MSysAccounts'&q