我的博客——Java文件操作系列
【Java文件操作(一)】递归打印文件目录
【Java文件操作(二)】删除文件夹,但保留其内部文件
【Java文件操作(三)】递归复制文件夹内所有文件
【Java 文件操作(四)】递归套递归,计算每个文件夹大小
方法一:手动转换
代码
变量 gb
存的是要转换的字符串,写入之后直接运行即可。
import java.io.UnsupportedEncodingException;
public class Mytest
{
public static void main(String[] args) throws UnsupportedEncodingException
{
String gb = "要转换的字符串";
byte[] bytes = gb.getBytes("gb2312");// 先把字符串按gb2312转成byte数组
StringBuilder gbString = new StringBuilder();
for (byte b : bytes)// 循环数组
{
String temp = Integer.toHexString(b);// 再用Integer中的方法,把每个byte转换成16进制输出
temp = temp.substring(6, 8); // 截取
gbString.append("%" + temp);
}
System.out.println(gbString);
}
}
运行结果
%d2%aa%d7%aa%bb%bb%b5%c4%d7%d6%b7%fb%b4%ae
方法二:使用URLDecoder和URLEncoder类
代码
package simpletest;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
public class Test {
public static void main(String[] args) throws UnsupportedEncodingException {
test1();
}
// url地址编码与解码测试
public static void test1() throws UnsupportedEncodingException {
String url = "http://192.168.1.20:80/gserver/upload/小甲鱼哈哈.mp4";
System.out.println("源地址:" + url);
url = URLEncoder.encode(url, "UTF-8");
System.out.println("编码后:" + url);
url = URLDecoder.decode(url, "UTF-8");
System.out.println("解码后:" + url);
}
}
运行结果
源地址:http://192.168.1.20:80/gserver/upload/小甲鱼哈哈.mp4
编码后:http%3A%2F%2F192.168.1.20%3A80%2Fgserver%2Fupload%2F%E5%B0%8F%E7%94%B2%E9%B1%BC%E5%93%88%E5%93%88.mp4
解码后:http://192.168.1.20:80/gserver/upload/小甲鱼哈哈.mp4