-- 2022-12-22
System.out.println(URLEncoder.encode("a+b c", "UTF-8")); System.out.println(UrlEscapers.urlFormParameterEscaper().escape("a+b c")); System.out.println(UrlEscapers.urlFragmentEscaper().escape("a+b c")); System.out.println(UrlEscapers.urlPathSegmentEscaper().escape("a+b c")); ---- a%2Bb+c a%2Bb+c a+b%20c a+b%20c
-- 2022-07-11
public class Unicode{ public static String encode( String s){ StringBuffer uni_s = new StringBuffer(); String temp_s = null; for( int i=0 ; i < s.length() ; i++){ temp_s = Integer.toHexString( s.charAt(i) ); uni_s.append( "\\u"+(temp_s.length()==4 ? temp_s : "00" + temp_s ) ); } return uni_s.toString(); } public static String decode( String uni){ StringBuffer str = new StringBuffer(); for( int i= uni.indexOf("\\u") ; i > -1 ; i = uni.indexOf("\\u") ){ // euc-kr(%u), utf-8(//u) str.append( uni.substring( 0, i ) ); str.append( String.valueOf( (char)Integer.parseInt( uni.substring( i + 2, i + 6 ) ,16) ) ); uni = uni.substring( i +6); } str.append( uni ); return str.toString(); } public static void main(String[] args) throws Exception{ String cmd = args[0]; if("d".equals(cmd)) System.out.println(Unicode.decode(args[1])); else if("e".equals(cmd)) System.out.println(Unicode.encode(args[1])); } }