北京是怎么翻译成 %E5%8C%97%E4%BA%AC(GBK到UTF8)

URLEncoder与URLDecoder编码相互转换
URLEncoder.encode("北京 东城 东城区", "UTF-8") 会把汉字转成UTF-8编码,空格转成“+”,如:
%E5%8C%97%E4%BA%AC+%E4%B8%9C%E5%9F%8E+%E4%B8%9C%E5%9F%8E%E5%8C%BA

要把“+”换成%20,再调用一次replaceAll()就行了,如:
URLEncoder.encode("北京 东城 东城区", "UTF-8").replaceAll("+","%20")
结果:
%E5%8C%97%E4%BA%AC%20%E4%B8%9C%E5%9F%8E%20%E4%B8%9C%E5%9F%8E%E5%8C%BA

相互转换
转换成编码:

URLEncoder.encode("北京");

输出:%E5%8C%97%E4%BA%AC

转换成汉字:

java.net.URLDecoder.decode("%E5%8C%97%E4%BA%AC","UTF-8");

输出:北京

取得本机默认的编码方式名称:

Charset.defaultCharset().name();

例如:UTF-8

原文地址:https://www.cnblogs.com/jianzhixuan/p/13878548.html