在线汉字编码查询
关于URL编码
http://www.ruanyifeng.com/blog/2010/02/url_encoding.html
注意当post请求时,如[ASIHTTPRequest addPostValue:@"value" forKey:@"key"]; value在被添加进去之后会被进行url编码。所以在执行addPostValue之前,value不用做url编码处理。Content-Type : application/x-www-form-urlencoded 要求所有的value都要url编码。
Get请求时,ASIHTTPRequest* request=[ASIHTTPRequest requestWithURL:[NSURL URLWithString:urlstr]]; , urlstr中的参数要自己先做url编码处理。
网络标准RFC 1738做了硬性规定:
"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."
“只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*'(),“[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。”
这意味着,如果URL中有汉字,就必须编码后使用。但是麻烦的是,RFC 1738没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定。这导致“URL编码”成为了一个混乱的领域。
对汉字可能采用utf8,或unicode,或GB2312编码,然后在编码中的每个字节前加上%。