社区
Delphi
帖子详情
为什么结果不相同,两个字符串?
walkmangood
2011-08-01 10:01:47
大家看下面的语句,为什么结果不相同呢?
edit2.Text:='AABB3322';
if pchar(edit2.Text)<>pchar('AABB3322') then
showmessage('不相同')
else
showmessage('相同');
显示的是“不相同”,谁给解答一下。
...全文
151
11
打赏
收藏
为什么结果不相同,两个字符串?
大家看下面的语句,为什么结果不相同呢? edit2.Text:='AABB3322'; if pchar(edit2.Text)pchar('AABB3322') then showmessage('不相同') else showmessage('相同'); 显示的是“不相同”,谁给解答一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
walkmangood
2011-08-01
打赏
举报
回复
[Quote=引用 10 楼 richardi 的回复:]
pchar是指向CHAR型的指针 ,你用 pchar(edit2.Text)<>pchar('AABB3322')实际上比较的是2个指针,不是指针指向的值,虽然2个指针的值相同,但是他们指向的位置不同,所以你怎么比都不相同。看下面测试把地址显示出来就清楚了
procedure TForm1.btn1Click(Sender: TObject);
var p1,p2:Pointer;
be……
[/Quote]
谢谢耐心解答,:)
richardi
2011-08-01
打赏
举报
回复
pchar是指向CHAR型的指针 ,你用 pchar(edit2.Text)<>pchar('AABB3322')实际上比较的是2个指针,不是指针指向的值,虽然2个指针的值相同,但是他们指向的位置不同,所以你怎么比都不相同。看下面测试把地址显示出来就清楚了
procedure TForm1.btn1Click(Sender: TObject);
var p1,p2:Pointer;
begin
edit2.Text:='AABB3322';
p1:=pchar(edit2.Text);
p2:=pchar('AABB3322');
ShowMessage(IntToStr(Integer(p1))+' '+IntToStr(Integer(p2)));
end;
linghengmao
2011-08-01
打赏
举报
回复
樓上正解
风之谷
2011-08-01
打赏
举报
回复
PCHAR()是 个指针, = <>号 在对指针进行比较时 是比较指针地址是否一致,
五哥
2011-08-01
打赏
举报
回复
pchar 是指针 ,应该是这个的原因
yqdragon
2011-08-01
打赏
举报
回复
pchar是指针,指向不一样
曼尼叔叔
2011-08-01
打赏
举报
回复
if pchar(edit2.Text)<>pchar('AABB3322') then
edit2.text和'AABB3322'各自占用这一块内存,那么两个指针指向的地址肯定就不一样了
walkmangood
2011-08-01
打赏
举报
回复
edit2.Text:='AABB3322';
if pchar(edit2.Text)<>'AABB3322' then
showmessage('不相同')
else
showmessage('相同');
但是去掉pchar这样就相同了
纯冰糖
2011-08-01
打赏
举报
回复
pchar是以Null结束的字符串指针
林石公
2011-08-01
打赏
举报
回复
估计是成了比较两个指针了,所以不同
纯冰糖
2011-08-01
打赏
举报
回复
内存中存储形式不同
java md5 结果不一致_Java md5加密 控制台传入与web传入参数 结果不匹配 ||
相同
字符串
加密结果不同,如何保证JAVA MD5加密结果在不同的环境下都
相同
...
博客讲述了在Java中遇到MD5加密结果不一致的问题,问题根源在于编码格式。Java的MD5加密依赖于
字符串
的编码,而PHP则不考虑上下文编码。示例代码显示,不同编码(如GBK、UTF-8)会导致
相同
的
字符串
加密后得到不同的结果。解决办法是确保在所有环境中使用
相同
的字符编码,如`byteArray=msg.getBytes(ISO-8859-1);`来保证MD5结果的一致性。
从键盘输入
两个
字符串
s1和s2,比较
两个
字符串
的大小并输出比较结果,结果为对应位置上第一对不
相同
字符ASCII码的差值。
该程序实现了一个简单的
字符串
比较函数,用于比较
两个
字符串
的字符序列。在输入样例中,'Abc123Abc' 和 'Abc56789' 的比较结果为 -4,表示在第一个不相等的字符位置上,'Abc123Abc' 的字符小于 'Abc56789' 的字符。这个函数可以作为排序算法的一部分,对
字符串
数组进行升序或降序排列。
Java md5加密 控制台传入与web传入参数 结果不匹配 ||
相同
字符串
加密结果不同,如何保证JAVA MD5加密结果在不同的环境下都
相同
本文探讨了MD5加密过程中出现不一致性的原因,主要聚焦于字符编码的影响,并提供了确保跨平台一致性的解决方法。
【MD5加密结果不一致问题】同一个文本
字符串
,使用MD5加密之后,得出的加密结果居然不
相同
本文讲述了开发者在处理短信发送接口时遇到的MD5加密问题,通过比较不同工具(JDK和Spring)和发现字符集编码差异,最终确定解决方案:在调用getBytes()时明确指定UTF-8编码。
Java md5加密 控制台传入与web传入参数 结果不匹配 ||
相同
字符串
加密结果不同
本文探讨了在不同编码方式下使用MD5进行加密时,同一
字符串
可能产生的不同结果,解释了这种现象背后的原因,并通过实例展示了UTF-8与GBK编码下加密过程的差异。
Delphi
5,943
社区成员
262,942
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章