ここではURLはメソッドをエンコードおよびデコードするための3つのJavaScriptの下に要約されています。
なぜ、エンコードとデコードすべきURL
のみ[0-9 [AZ] $ - 。!_ + *「()、]同様に予約語の一部として、他の文字がエンコードされていない場合、我々は、URLに直接エンコードすることができないのさまざまなにつながる可能性があり問題。
例としては、検索キーワードなど中国の検索エンジンとして、エンコードとデコード見つけることは容易であり、その後、URLをコピーして、URLをトランスコードすることが判明している貼り付けます。
エスケープ()和アンエスケープ()
原理:ASCII文字、数字、句読点のほかに - エンコードされた以外の文字は、[@ * _ + /。]。
编码:エスケープ( 'http://www.baidu.com?name=yanggb@blog=yanggb')
结果: "http%3A//www.baidu.com%3Fname%3Dyanggb@blog%3Dyanggb"
コーディング:エスケープ(「・ヤング最高水準」)
結果: "%u6768%u51A0%u6807"
解码:アンエスケープ('http%3A//www.baidu.com%3Fname%3Dyanggb@blog%3Dyanggb ')
结果: "http://www.baidu.com?name=yanggb@blog=yanggb"
コーディング:アンエスケープ( '%u6768%u51A0%u6807')
結果:「ヤン最高水準を。」
decodeURI和encodeURI()()
encodeURI()は、実際のURLエンコードされた関数へのJavascriptです。
[:; +「/!?)@#$&*(=:]原理:リターンはエンコードされた文字ではありません、有効なURI(Uniform Resource Identifier)で文字列としてエンコード。
コーディング:encodeURIを( 'http://www.baidu.com?name= = yanggbブログ@ヤン上付きクラウン')
结果: "http://www.baidu.com?name=%E6%9D%A8%E5%86%A0%E6%A0%87@blog=yanggb"
解码:decodeURI( 'http://www.baidu.com?name=%E6%9D%A8%E5%86%A0%E6%A0%87@blog=yanggb')
結果:「http://www.baidu.com?name=ヤン最高水準@ブログ= yanggb」
encodeURIComponentで()和は、decodeURIComponent()
原理:URLの一部ではなく全体のURLエンコード方式のため、個別にエンコードされますエンコードASCIIの文字と数字、もないこれらのASCII句読点コードは以下となります。 - _〜*「(。! )。
コーディング:encodeURIComponentでの( 'http://www.baidu.com?name= = yanggbブログ@ヤン上付きクラウン')
结果: "HTTP%3A%2F%2Fwww.baidu.com%3Fname%3D%E6%9D%A8%E5%86%A0%E6%A0%87%40blog%3Dyanggb"
解码:は、decodeURIComponent( 'のhttp%3A%2F%2Fwww.baidu.com%3Fname%3D%E6%9D%A8%E5%86%A0%E6%A0%87%40blog%3Dyanggb')
結果:「http://www.baidu.com?name=ヤン最高水準@ブログ= yanggb」
「私はこの世界を止めるように鋭い、私は悲しみと喜びと同じように、この世界で温かい人があることを信じていました。」