这是什么编码? (50分)

  • 主题发起人 主题发起人 delphizhao
  • 开始时间 开始时间
D

delphizhao

Unregistered / Unconfirmed
GUEST, unregistred user!
IE提交一个Post数据时,显然对PostData进行过编码,如下所示一个PostData串:
Done=%2Fbin%2Fhome%2Fehomepage&cc=1&step=2&UserId=duanduan&Password=duanduan&SignIn=+%B5%C7+%C2%BC+
我先以为是按照Delphi函数HttpEncode编的码,但是用HttpEncode编码不会在串中出现
&、+这样的字符。请高手解释!
 
那是ascii码
 
由于url中不允许出现一些特殊符号,所以就用它的ascii码值表示。像%2f %c2等。
 
但这些数据是Post方法提交的
 
数据中+,表示空格。%%表示一个%。

你给的好像不是post数据。
post的数据体象email的,每个数据间有---------------分割。
Content-Disposition: form-data; name="Upload1" 后跟他们的值。

由于server知道数据体长度,所以体部分不编码。


 
这串数据是我截获IE发出Post后的传送数据,我注意到了"+"的来源,但&怎么会出现了?
 
那是分隔符,
例如:
&Password=duanduan&SignIn=+%B5%C7+%C2%BC+
实际上是
Password=duanduan
SignIn=+%B5%C7+%C2%BC+
 
&号是对两个值之间做的区分,也就是说你截获了两个值
 
相当于Done=/bin/home/ehomepage&cc=1&step=2&UserId=duanduan&Password=duanduan&SignIn=登录
 
to tianhf:
你能告诉我,哪些字符可以出现,哪些字符要用16进制%FF来表示?
 
26个英文字母加数字,可以出现。
 
我也不太清楚,可能lyywy说得对,常见“/”“/”和汉字一般用16进制表示.
 
编码是utf-8.
保留值 = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","
可以出现的: 字母数字 | "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
详见: RFC 2396 URI Generic Syntax
rfc2279 UTF-8
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
665
import
I
I
回复
0
查看
624
import
I
后退
顶部