我一直在嘗試各種Java代碼,試圖提供一些東西來對包含引號,空格和“奇異” Unicode字符的字符串進行編碼,并產(chǎn)生與JavaScript的encodeURIComponent函數(shù)相同的輸出。我的酷刑測試字符串是:“ A” B±“如果我在Firebug中輸入以下JavaScript語句:encodeURIComponent('"A" B ± "');—然后我得到:"%22A%22%20B%20%C2%B1%20%22"這是我的小測試Java程序:import java.io.UnsupportedEncodingException;import java.net.URLEncoder;public class EncodingTest{ public static void main(String[] args) throws UnsupportedEncodingException { String s = "\"A\" B ± \""; System.out.println("URLEncoder.encode returns " + URLEncoder.encode(s, "UTF-8")); System.out.println("getBytes returns " + new String(s.getBytes("UTF-8"), "ISO-8859-1")); }}—該程序輸出:URLEncoder.encode返回%22A%22 + B +%C2%B1 +%22getBytes返回“ A” B±“靠近,但沒有雪茄!使用Java編碼UTF-8字符串以使其產(chǎn)生與JavaScript相同的輸出的最佳方法是什么encodeURIComponent?編輯:我正在使用Java 1.4即將移至Java 5。
Java與產(chǎn)生相同輸出的JavaScript的encodeURIComponent等效嗎?
幕布斯6054654
2019-11-25 10:24:24