什么时字符串的编码与解码?请举例说明
java中编码:URLEncoder.encode(strUri,“utf-8”);
java中解码码:URLDecoder.decode(strUri,“utf-8”);
java编码和解码
流读取文件bai,具有转换编码功能的有:OutputStreamWriter和InputStreamReader,
构造器有如:
InputStreamReader(InputStream in, String charsetName)
创建使用指定字符集的 InputStreamReader。
OutputStreamWriter(OutputStream out, String charsetName)
创建使用指定字符集的 OutputStreamWriter。
处理字符串编码问题:
重新对获取的字符串进行编码:Byte[] bytes = str.getBytes(String encodeCharsetNam);
重新对bytes进行解码,创建新的字符串对象:str = new String(Byte[] bytes,String decodeCharsetName);
一般结合使用:str = new String(str.getBytes(String encodeCharsetName),String decodeCharsetName);
例如:resultName=new String(username.getBytes(“ISO-8859-1”),“UTF-8”);
还可以加入判断:
if(!Charset.forName(“gbk”).newEncoder().canEncode(str)){str = new Strin(str.getBytes(“ISO-8859-1”),“UTF-8”);}else{str = new String(str.getBytes(“ISO-8859-1”),“gbk”);}
处理请求参数传递编码问题:
java中编码:URLEncoder.encode(strUri,“utf-8”);
java中解码码:URLDecoder.decode(strUri,“utf-8”);
js中编码:encodeURIComponent(strUri);encodeURI(strUri);escape(str);
js中解码:decodeURIComponent(strUri);decodeURI(strUri);unescape(str);