<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我思故我強(qiáng)

    Escape/unescape的Java實(shí)現(xiàn)


    Escape/unescape的Java實(shí)現(xiàn)

    關(guān)鍵字: ? Escape/unescape的Java實(shí)現(xiàn)????
    java 代碼
    1. package ?com.kenshin.test; ??
    2. public ? class ?Escape?{ ??
    3. ???? private ? final ? static ?String[]?hex?=?{? "00" ,? "01" ,? "02" ,? "03" ,? "04" ,? "05" , ??
    4. ???? "06" ,? "07" ,? "08" ,? "09" ,? "0A" ,? "0B" ,? "0C" ,? "0D" ,? "0E" ,? "0F" ,? "10" , ??
    5. ???? "11" ,? "12" ,? "13" ,? "14" ,? "15" ,? "16" ,? "17" ,? "18" ,? "19" ,? "1A" ,? "1B" , ??
    6. ???? "1C" ,? "1D" ,? "1E" ,? "1F" ,? "20" ,? "21" ,? "22" ,? "23" ,? "24" ,? "25" ,? "26" , ??
    7. ???? "27" ,? "28" ,? "29" ,? "2A" ,? "2B" ,? "2C" ,? "2D" ,? "2E" ,? "2F" ,? "30" ,? "31" , ??
    8. ???? "32" ,? "33" ,? "34" ,? "35" ,? "36" ,? "37" ,? "38" ,? "39" ,? "3A" ,? "3B" ,? "3C" , ??
    9. ???? "3D" ,? "3E" ,? "3F" ,? "40" ,? "41" ,? "42" ,? "43" ,? "44" ,? "45" ,? "46" ,? "47" , ??
    10. ???? "48" ,? "49" ,? "4A" ,? "4B" ,? "4C" ,? "4D" ,? "4E" ,? "4F" ,? "50" ,? "51" ,? "52" , ??
    11. ???? "53" ,? "54" ,? "55" ,? "56" ,? "57" ,? "58" ,? "59" ,? "5A" ,? "5B" ,? "5C" ,? "5D" , ??
    12. ???? "5E" ,? "5F" ,? "60" ,? "61" ,? "62" ,? "63" ,? "64" ,? "65" ,? "66" ,? "67" ,? "68" , ??
    13. ???? "69" ,? "6A" ,? "6B" ,? "6C" ,? "6D" ,? "6E" ,? "6F" ,? "70" ,? "71" ,? "72" ,? "73" , ??
    14. ???? "74" ,? "75" ,? "76" ,? "77" ,? "78" ,? "79" ,? "7A" ,? "7B" ,? "7C" ,? "7D" ,? "7E" , ??
    15. ???? "7F" ,? "80" ,? "81" ,? "82" ,? "83" ,? "84" ,? "85" ,? "86" ,? "87" ,? "88" ,? "89" , ??
    16. ???? "8A" ,? "8B" ,? "8C" ,? "8D" ,? "8E" ,? "8F" ,? "90" ,? "91" ,? "92" ,? "93" ,? "94" , ??
    17. ???? "95" ,? "96" ,? "97" ,? "98" ,? "99" ,? "9A" ,? "9B" ,? "9C" ,? "9D" ,? "9E" ,? "9F" , ??
    18. ???? "A0" ,? "A1" ,? "A2" ,? "A3" ,? "A4" ,? "A5" ,? "A6" ,? "A7" ,? "A8" ,? "A9" ,? "AA" , ??
    19. ???? "AB" ,? "AC" ,? "AD" ,? "AE" ,? "AF" ,? "B0" ,? "B1" ,? "B2" ,? "B3" ,? "B4" ,? "B5" , ??
    20. ???? "B6" ,? "B7" ,? "B8" ,? "B9" ,? "BA" ,? "BB" ,? "BC" ,? "BD" ,? "BE" ,? "BF" ,? "C0" , ??
    21. ???? "C1" ,? "C2" ,? "C3" ,? "C4" ,? "C5" ,? "C6" ,? "C7" ,? "C8" ,? "C9" ,? "CA" ,? "CB" , ??
    22. ???? "CC" ,? "CD" ,? "CE" ,? "CF" ,? "D0" ,? "D1" ,? "D2" ,? "D3" ,? "D4" ,? "D5" ,? "D6" , ??
    23. ???? "D7" ,? "D8" ,? "D9" ,? "DA" ,? "DB" ,? "DC" ,? "DD" ,? "DE" ,? "DF" ,? "E0" ,? "E1" , ??
    24. ???? "E2" ,? "E3" ,? "E4" ,? "E5" ,? "E6" ,? "E7" ,? "E8" ,? "E9" ,? "EA" ,? "EB" ,? "EC" , ??
    25. ???? "ED" ,? "EE" ,? "EF" ,? "F0" ,? "F1" ,? "F2" ,? "F3" ,? "F4" ,? "F5" ,? "F6" ,? "F7" , ??
    26. ???? "F8" ,? "F9" ,? "FA" ,? "FB" ,? "FC" ,? "FD" ,? "FE" ,? "FF" ?}; ??
    27. ??
    28. ???? private ? final ? static ? byte []?val?=?{? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    29. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    30. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    31. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    32. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x00 ,? 0x01 , ??
    33. ???? 0x02 ,? 0x03 ,? 0x04 ,? 0x05 ,? 0x06 ,? 0x07 ,? 0x08 ,? 0x09 ,? 0x3F ,? 0x3F ,? 0x3F , ??
    34. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x0A ,? 0x0B ,? 0x0C ,? 0x0D ,? 0x0E ,? 0x0F ,? 0x3F , ??
    35. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    36. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    37. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x0A ,? 0x0B ,? 0x0C ,? 0x0D ,? 0x0E ,? 0x0F ,? 0x3F ,? 0x3F , ??
    38. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    39. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    40. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    41. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    42. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    43. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    44. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    45. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    46. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    47. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    48. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    49. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    50. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F , ??
    51. ???? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ,? 0x3F ?}; ??
    52. ??
    53. ???? /** ?
    54. ?????*?編碼
    55. ?????*? ?
    56. ?????*?@param?s ?
    57. ?????*?@return ?
    58. ?????*/ ??
    59. ???? public ? static ?String?escape(String?s)?{ ??
    60. ????StringBuffer?sbuf?=? new ?StringBuffer(); ??
    61. ???? int ?len?=?s.length(); ??
    62. ???? for ?( int ?i?=? 0 ;?i?<?len;?i++)?{ ??
    63. ???? int ?ch?=?s.charAt(i); ??
    64. ???? if ?('A'?<=?ch?&&?ch?<=?'Z')?{ ??
    65. ????sbuf.append(( char )?ch); ??
    66. ????}? else ? if ?('a'?<=?ch?&&?ch?<=?'z')?{ ??
    67. ????sbuf.append(( char )?ch); ??
    68. ????}? else ? if ?(' 0 '?<=?ch && ch< = ' 9 ') {??????????
    69. ??? sbuf.append(( char )?ch); ??
    70. ????}? else ? if ?(ch?==?'-'?||?ch?==?'_'? ??
    71. ????||?ch?==? '.' ?||?ch?==?'!'?||?ch?==?'~'?||?ch?==?'*' ??
    72. ????||?ch?==? '\'' ?||?ch?==?'('?||?ch?==?')')?{ ??
    73. ????sbuf.append(( char )?ch); ??
    74. ????}? else ? if ?(ch?<=? 0x007F )?{ ??
    75. ????sbuf.append('%'); ??
    76. ????sbuf.append(hex[ch]); ??
    77. ????}? else ?{ ??
    78. ????sbuf.append('%'); ??
    79. ????sbuf.append('u'); ??
    80. ????sbuf.append(hex[(ch?>>>? 8 )]); ??
    81. ????sbuf.append(hex[( 0x00FF ?&?ch)]); ??
    82. ????} ??
    83. ????} ??
    84. ???? return ?sbuf.toString(); ??
    85. ????} ??
    86. ??
    87. ???? /** ?
    88. ?????*?解碼 說(shuō)明:本方法保證 不論參數(shù)s是否經(jīng)過(guò)escape()編碼,均能得到正確的“解碼”結(jié)果
    89. ?????*? ?
    90. ?????*?@param?s ?
    91. ?????*?@return ?
    92. ?????*/ ??
    93. ???? public ? static ?String?unescape(String?s)?{ ??
    94. ????StringBuffer?sbuf?=? new ?StringBuffer(); ??
    95. ???? int ?i?=? 0 ; ??
    96. ???? int ?len?=?s.length(); ??
    97. ???? while ?(i?<?len)?{ ??
    98. ???? int ?ch?=?s.charAt(i); ??
    99. ???? if ?('A'?<=?ch?&&?ch?<=?'Z')?{ ??
    100. ????sbuf.append(( char )?ch); ??
    101. ????}? else ? if ?('a'?<=?ch?&&?ch?<=?'z')?{? ??
    102. ????sbuf.append(( char )?ch); ??
    103. ????}? else ? if ?(' 0 ' <= ch && ch< = ' 9 ')?{
    104. sbuf.append(( char )?ch); ??
    105. ????}? else ? if ?(ch?==?'-'?||?ch?==?'_'||?ch?==? '.' ?||?ch?==?'!'?||?ch?==?'~'?||?ch?==?'*'||?ch?==? '\'' ?||?ch?==?'('?||?ch?==?')')?{ ??
    106. ????sbuf.append(( char )?ch); ??
    107. ????}? else ? if ?(ch?==?'%')?{ ??
    108. ???? int ?cint?=? 0 ; ??
    109. ???? if ?('u'?!=?s.charAt(i?+? 1 ))?{ ??
    110. ????cint?=?(cint?<<? 4 )?|?val[s.charAt(i?+? 1 )]; ??
    111. ????cint?=?(cint?<<? 4 )?|?val[s.charAt(i?+? 2 )]; ??
    112. ????i?+=? 2 ; ??
    113. ????}? else ?{ ??
    114. ????cint?=?(cint?<<? 4 )?|?val[s.charAt(i?+? 2 )]; ??
    115. ????cint?=?(cint?<<? 4 )?|?val[s.charAt(i?+? 3 )]; ??
    116. ????cint?=?(cint?<<? 4 )?|?val[s.charAt(i?+? 4 )]; ??
    117. ????cint?=?(cint?<<? 4 )?|?val[s.charAt(i?+? 5 )]; ??
    118. ????i?+=? 5 ; ??
    119. ????} ??
    120. ????sbuf.append(( char )?cint); ??
    121. ????}? else ?{ ??
    122. ????sbuf.append(( char )?ch); ??
    123. ????} ??
    124. ????i++; ??
    125. ????} ??
    126. ???? return ?sbuf.toString(); ??
    127. ????} ??
    128. ??
    129. ???? public ? static ? void ?main(String[]?args)?{ ??
    130. ????String?stest?=? "1234?abcd[]()<+>,.~\\" ; ??
    131. ????System.out.println(stest); ??
    132. ????System.out.println(escape(stest)); ??
    133. ????System.out.println(unescape(escape(stest))); ??
    134. ????} ??
    135. ??
    136. ????}? ??

    posted on 2007-09-20 18:21 李云澤 閱讀(371) 評(píng)論(0)  編輯  收藏 所屬分類: Java代碼

    主站蜘蛛池模板: 中文字幕在线观看亚洲视频| 波多野结衣久久高清免费 | 亚洲日本乱码一区二区在线二产线| 毛片基地看看成人免费| 国产亚洲精品线观看动态图| 青青视频免费在线| 亚洲国产专区一区| 精品成人免费自拍视频| 18gay台湾男同亚洲男同| 免费h片在线观看网址最新| 亚洲xxxxxx| 可以免费观看一级毛片黄a| 又黄又大的激情视频在线观看免费视频社区在线 | 亚洲无线码在线一区观看| 久久国产乱子伦精品免费午夜 | 亚洲国产成人无码AV在线 | 国产jizzjizz视频全部免费| 曰批免费视频播放免费| 亚洲中文字幕在线乱码| 免费国产黄网站在线观看可以下载| 久久精品亚洲综合一品| 四虎永久在线精品免费观看视频| 亚洲色偷偷色噜噜狠狠99网| 亚洲国产精品一区二区第一页免 | 亚洲a一级免费视频| 免费观看国产网址你懂的| 亚洲日本VA中文字幕久久道具| 夜色阁亚洲一区二区三区| 男人都懂www深夜免费网站| 久久精品国产亚洲av麻豆蜜芽| 日韩精品亚洲专区在线观看| 欧洲人成在线免费| 亚洲天然素人无码专区| 在线亚洲精品福利网址导航| 91精品国产免费久久国语麻豆| 亚洲第一第二第三第四第五第六| 在线观看午夜亚洲一区| 最近最新中文字幕完整版免费高清| 免费一级全黄少妇性色生活片| 亚洲av无码乱码国产精品| 日本免费高清一本视频|