SQLの窓 イラストAC フリー素材

2018年01月20日

いろいろな言語におけるバーセントエンコーディング

2014年04月07日 作成

※ PHP に関しては、5.6.30 と 7.0.8 で変化はありません
  • 【1】 PHP : urlencode
  • 【2】 PHP : rawurlencode : 5.2.x
  • 【3】 PHP : rawurlencode : 5.3.x (rfc3986)
  • 【4】 JavaScript : encodeURI
  • 【5】 JavaScript : encodeURIComponent
  • 【6】 ASP : Server.URLEncode ( Server.URLEncode(chr(I))で変換できない文字があります )
  • 【7】 PowerShell : [System.Web.HttpUtility]::UrlEncode
  • 【8】 python 2.6.2
1〜8 はかなり前に調べたものですが、以下は今回調べました。 結果さえ解っておれば、一括で置き換えるのが簡単です( rfc3986 対応 )
  • 【9】 fw4 : VS2010 Uri.EscapeDataString
  • 【10】 fw4.5 : VS2012 Uri.EscapeDataString (rfc3986)
  • 【11】 fw : VS2010 HttpUtility.UrlEncode( VS2012 も同じ )
ちなみに、Framework4.5 で、WebUtility.UrlEncode があるようで、11) と同じでした。
    php1 php2 php3 js1 js2 asp ps py fw4 fw4.5 fw
    1 2 3 4 5 6 7 8 9 10 11
0   %00 %00 %00 %00 %00   %00 %00 %00 %00 %00
32   + %20 %20 %20 %20 + + %20 %20 %20 +
33 【!】 %21 %21 %21 ! ! %21 ! %21 ! %21 !
34 【"】 %22 %22 %22 %22 %22 %22 %22 %22 %22 %22 %22
35 【#】 %23 %23 %23 # %23 %23 %23 %23 %23 %23 %23
36 【$】 %24 %24 %24 $ %24 %24 %24 %24 %24 %24 %24
37 【%】 %25 %25 %25 %25 %25 %25 %25 %25 %25 %25 %25
38 【&】 %26 %26 %26 & %26 %26 %26 %26 %26 %26 %26
39 【'】 %27 %27 %27 ' ' %27 ' %27 ' %27 %27
40 【(】 %28 %28 %28 ( ( %28 ( %28 ( %28 (
41 【)】 %29 %29 %29 ) ) %29 ) %29 ) %29 )
42 【*】 %2A %2A %2A * * %2A * %2A * %2A *
43 【+】 %2B %2B %2B + %2B %2B %2B %2B %2B %2B %2B
44 【,】 %2C %2C %2C , %2C %2C %2C %2C %2C %2C %2C
45 【-】 - - - - - %2D - - - - -
46 【.】 . . . . . %2E . . . . .
47 【/】 %2F %2F %2F / %2F %2F %2F / %2F %2F %2F
ここは、0から9の数字で変換されません
58 【:】 %3A %3A %3A : %3A %3A %3A %3A %3A %3A %3A
59 【;】 %3B %3B %3B ; %3B %3B %3B %3B %3B %3B %3B
60 【<】 %3C %3C %3C %3C %3C %3C %3C %3C %3C %3C %3C
61 【=】 %3D %3D %3D = %3D %3D %3D %3D %3D %3D %3D
62 【>】 %3E %3E %3E %3E %3E %3E %3E %3E %3E %3E %3E
63 【?】 %3F %3F %3F ? %3F %3F %3F %3F %3F %3F %3F
64 【@】 %40 %40 %40 @ %40 %40 %40 %40 %40 %40 %40
ここは、AからZのアルファベットで変換されません
91 【[】 %5B %5B %5B %5B %5B %5B %5B %5B %5B %5B %5B
92 【\】 %5C %5C %5C %5C %5C %5C %5C %5C %5C %5C %5C
93 【]】 %5D %5D %5D %5D %5D %5D %5D %5D %5D %5D %5D
94 【^】 %5E %5E %5E %5E %5E %5E %5E %5E %5E %5E %5E
95 【_】 _ _ _ _ _ %5F _ _ _ _ _
96 【`】 %60 %60 %60 %60 %60 %60 %60 %60 %60 %60 %60
ここは、aからzのアルファベット(小文字)で変換されません
123 【{】 %7B %7B %7B %7B %7B %7B %7B %7B %7B %7B %7B
124 【|】 %7C %7C %7C %7C %7C %7C %7C %7C %7C %7C %7C
125 【}】 %7D %7D %7D %7D %7D %7D %7D %7D %7D %7D %7D
126 【~】 %7E %7E ~ ~ ~ %7E %7E %7E ~ ~ %7E
127   %7F %7F %7F %7F %7F %7F %7F %7F %7F %7F %7F

PHP rawurlencode
<?php

print rawurlencode (chr(0)) . "\n";
print rawurlencode (chr(32)) . "\n";
print rawurlencode (chr(33)) . "\n";
print rawurlencode (chr(34)) . "\n";
print rawurlencode (chr(35)) . "\n";
print rawurlencode (chr(36)) . "\n";
print rawurlencode (chr(37)) . "\n";
print rawurlencode (chr(38)) . "\n";
print rawurlencode (chr(39)) . "\n";
print rawurlencode (chr(40)) . "\n";
print rawurlencode (chr(41)) . "\n";
print rawurlencode (chr(42)) . "\n";
print rawurlencode (chr(43)) . "\n";
print rawurlencode (chr(44)) . "\n";
print rawurlencode (chr(45)) . "\n";
print rawurlencode (chr(46)) . "\n";
print rawurlencode (chr(47)) . "\n";

print rawurlencode (chr(58)) . "\n";
print rawurlencode (chr(59)) . "\n";
print rawurlencode (chr(60)) . "\n";
print rawurlencode (chr(61)) . "\n";
print rawurlencode (chr(62)) . "\n";
print rawurlencode (chr(63)) . "\n";
print rawurlencode (chr(64)) . "\n";
print rawurlencode (chr(91)) . "\n";
print rawurlencode (chr(92)) . "\n";
print rawurlencode (chr(93)) . "\n";
print rawurlencode (chr(94)) . "\n";
print rawurlencode (chr(95)) . "\n";
print rawurlencode (chr(96)) . "\n";
print rawurlencode (chr(123)) . "\n";
print rawurlencode (chr(124)) . "\n";
print rawurlencode (chr(125)) . "\n";
print rawurlencode (chr(126)) . "\n";
print rawurlencode (chr(127)) . "\n";

?>



posted by at 2018-01-20 15:23 | インターネット | このブログの読者になる | 更新情報をチェックする


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX